天天看點

資料庫表名作為參數傳遞給存儲過程的方法

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

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

?

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 '

[email protected] +

'(userId,pwd,userRole)   values   ('

''

[email protected]+

''

','

''

[email protected]+

''

','

[email protected]+

')'

)

?

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