如何样动态传参数到存储过程
怎么样动态传参数到存储过程?比如有个存储过程, 类似如下的更新语句create procedure PPP @XX varchar(32)
怎么样动态传参数到存储过程?
比如有个存储过程, 类似如下的更新语句
create procedure PPP
@XX varchar(32),
@XXX varchar(32),
……
as
update TA set
XX=XX
XXX=XXX
……
……
where ……
里面的字段(XX和XXX)我想在程序里动态传入。有时候只有XX,有时候只有XXX,有时候两个都有……
该怎么弄?
[解决办法]
1、存储过程参数增加默认值
create procedure PPP
@XX varchar(32) = null,
@XXX varchar(32) = null,
……
as
2、存储过程中队默认何不默认要有特殊处理(代码就略了)
3、程序调用采取以下方式
exec ppp @xx = ...,@xxx = ...
exec ppp @xx = ...
exec ppp @xxx = ...
exec ppp
[解决办法]
可以这样:
传参的时候每个参数都传,用不到的就传个空值,然后在过程里用if语句判断处理就可以了
[解决办法]我也是这么认为的:传参的时候每个参数都传,用不到的就传个空值,然后在过程里用if语句判断处理就可以了