回覆列表
  • 1 # 南風微涼南巷似水浮生

    sqlserver中

    EXEC命令有兩種用法,一種是執行一個儲存過程,另一種是執行一個動態的批處理

    1.使用系統儲存過程sp_executesql執行Unicode命令字串

    語法如下:

    sp_executesql[@stmt=]stmt

    [

    {,[@params=]N"@parameter_namedata_type[,...n]"}

    {,[@param1=]"value"[,...n]}

    ]

    說明:必須先將各個包含所要執行的命令語句的Unicode字串相加在一起,再交給系統儲存過程sp_executesql來執行,而不能在sp_executesql的語句中來相加各個命令字串。

    舉例如下:

    declare@DBNamenvarchar(20),

    @Tbnamenvarchar(20),

    @SQLStringnvarchar(500)

    set@DBName=N"Northwind"

    set@Tbname=N"Customers"

    set@SQLString=N"USE"+@DBName+char(13)--char(13)換行

    SET@SQLString=@SQLString+N"select*from"+@Tbname

    --必須先將命令字串組合完畢後再交給sp_executesql來執行

    execsp_executesql@SQLString

    2.使用EXECUTE命令執行命令字串

    要使用EXECUTE命令來執行一個命令字串的語法如下:

    EXEC[UTE]({@string_variable|[N]"stql_string"}[+...n])

    從語法看出,可以先將包含所要執行的命令的字串賦給一個區域性變數@string_variable,再使用EXECUTE命令來執行,或是直接使用EXECUTE命令去執行一個包含所要執行的命令語句的字串。此外,您也可以將多個包含所要執行的命令語句的字串相加在一起,再交給EXECUTE命令來一次執行。

    例:

    declare@sqlnvarchar(4000)

    set@sql="select*from[表]whereemail=""[email protected]"""

    exec(@sql)

  • 中秋節和大豐收的關聯?
  • 古詩詞中那一首有安和佳?