mysql存储过程把字段作为传入参数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql存储过程把字段作为传入参数相关的知识,希望对你有一定的参考价值。
create procedure pro_name(in monthNow int,in bankType1 varchar(225),in banktype2 varchar(225),in yearNow int)
BEGIN
START TRANSACTION;
select rb_year as 年份,rb_month as 月份, rb_comp_name as 公司,bankType1 as 当年累计 from
tb_name rb_Month=@monthNow and rb_year=@yearNow order by bankType1 desc limit 0,3;
select @bankType1
COMMIT;
提示:bankType1 是表中的字段名,但是作为sql中的排序,传入参数该怎么传,还有前面要查处次字段(bankType1 ) 的数字
END
banktype2 可以不考虑,忘了啊
declare @bankType1 varchar(225)
set @bankType1=(select bankType1 from 表名)
delphi 中用数组作为参数传入sql语句中
比如说
var
jsh:array of integer;
…………
with Query1 do
begin
close;
sql.clear;
//sql.add('select * from JS where JSH IN (....));
open;
fetchall;
end;
现在想把jsh中的参数传入sql语句中where后面的判断语句中。该怎么写
如:
str_sql : string;
下面
sql.clear;
str_sql= '';
for i := Low(jsh) to High(jsh) do
begin
if str_sql = '' then
str_sql = str_sql + jsh[i] ;
else
str_sql = str_sql + ',' + jsh[i];
end;
end;
if str_sql = '' then
sql.add('select * from JS');
else
sql.add('select * from JS where ('+str_sql+') IN (....)');
end;追问
虽然写的有些不认真,但这个方法可行。
追答汗,不好意思啊,DELPHI我只是偶尔用用的,所以写的不好哦
本回答被提问者和网友采纳 参考技术C 用for循环吧追问sql为select的时候用for很多结果集吧?还是说for用在sql语句里面?能具体点不?
以上是关于mysql存储过程把字段作为传入参数的主要内容,如果未能解决你的问题,请参考以下文章
mysql存储过程 将传入的参数用作为表名 执行时提示错误 Table 'asteriskcdrdb.tbname' doesn't exist