数据库表名作为参数传递给存储过程的方法

通常的存储过程虽然也可以带参数,但是如果你的存储过程的参数是表名、字段名、数据库名之类的时候,通常的方法就行不通了!

下面是用表名做参数的存储过程创建:

?
1
2
3
4
5
6
7
CREATE   PROCEDURE   SpecialInsertProcedure   
     @TableName   varchar (50),  
     @userId   varchar (10),   
     @pwd   varchar (10),   
     @userRole int
AS   
   exec ( 'insert into ' +@TableName + '(userId,pwd,userRole)   values   (' '' +@userId+ '' ',' '' +@pwd+ '' ',' +@userRole+ ')' )
?
1
其中的TableName是表名,userId,pwd,userRole是表中的字段。对应的@TableName是传递到存储过程的表名变量,
?
1
@userId,@pwd,@userRole是需要插入表中的数据;
?
1
需要注意的是单引号的使用方法,这里用两个<SPAN style= "TEXT-DECORATION: underline" >   ''   </SPAN>代替字符串里面的一个 <SPAN style= "TEXT-DECORATION: underline" > ' </SPAN>  其实就是有一个<SPAN style="TEXT-DECORATION: underline"> '  </SPAN> 当作了专业字符。
?
1
对应的该存储过程的执行为:
?
1
exec SpecialInsertProcedure  UserInfo,sss,sss,1

 

http://www.cnblogs.com/lxyFight/articles/1710515.html

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值