Sqlserver:Exceute語句的使用:它太強大了

iSQlServer發表於2009-11-05

Execute語句最普通的用法就是執行儲存過程。但他還有更強大、更廣泛的使用方法。

1.執行儲存過程

  儲存過程名 支援 物件四部分名稱 可以是:字面值 、 變數

  傳遞的引數 可以使用 :字面值、變數、default值;input 或 output

  能夠獲取儲存過程的 return 返回值,如果儲存過程 沒有return 語句,返回0! 如果儲存過程 return 其他型別、其他值,則必須是 可以轉換為int型別的值!

  可以執行同系列的儲存過程

  在執行時 強制 重新編譯儲存過程:with recompile

 

2.執行函式

  與執行 儲存過程 類似。

  必須注意:此時函式的呼叫不能有括號了()!

  能夠獲取 函式 的任何 標量 返回型別和值,標量!

 

3.執行動態sql字串

  execute 語句 必須帶有括號()

  sql字串可以是任何有效的sql字串:字面值、變數

  可以變更 執行 上下文 : as {login | user} = 'name'

 

4.pass-throug 字串:該功能,使得execute 極其方便、強大!!!!!!!!!!!!!!!!!!!!!!!!!

  和動態sql字串類似,只是字串內可以帶有“?”表示可以互相傳遞的變數。

  替換變數可以是:字面值、變數。如是“?output”是 output 型別的,則替換變數必須是 變數

  sqlsever2005以後,可以在連線伺服器上執行!

 

execute 語法

Execute a stored procedure or function
[ { EXEC | EXECUTE } ]
    {
      [ @return_status = ]
      { module_name [ ;number ] | @module_name_var }
        [ [ @parameter = ] { value
                           | @variable [ OUTPUT ]
                           | [ DEFAULT ]
                           }
        ]
      [ ,...n ]
      [ WITH RECOMPILE ]
    }
[;]

Execute a character string
{ EXEC | EXECUTE }
        ( { @string_variable | [ N ]'tsql_string' } [ + ...n ] )
    [ AS { LOGIN | USER } = ' name ' ]
[;]

Execute a pass-through command against a linked server
{ EXEC | EXECUTE }
        ( { @string_variable | [ N ] 'command_string' } [ + ...n ]
        [ {, { value | @variable [ OUTPUT ] } } [...n] ]
        )
    [ AS { LOGIN | USER } = ' name ' ]
    [ AT linked_server_name ]
[;]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-618191/,如需轉載,請註明出處,否則將追究法律責任。

相關文章