數據庫表名作爲參數傳遞給存儲過程的方法

通常的存儲過程雖然也可以帶參數,但是如果你的存儲過程的參數是表名、字段名、數據庫名之類的時候,通常的方法就行不通了!

下面是用表名做參數的存儲過程創建:

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章