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

来源:互联网 发布:网络直播机场抓马蓉 编辑:程序博客网 时间:2024/05/22 06:23

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

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

?
1
2
3
4
5
6
7
CREATE   PROCEDURE   SpecialInsertProcedure   
    @TableName  varchar(50),  
    @userId  varchar(10),   
    @pwd  varchar(10),   
    @userRoleint
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

0 0
原创粉丝点击