现在的位置: 首页 > 综合 > 正文

Sqlserver:Exceute语句的使用:它太强大了

2012年05月08日 ⁄ 综合 ⁄ 共 1243字 ⁄ 字号 评论关闭

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 ]
[;]

抱歉!评论已关闭.