zoukankan      html  css  js  c++  java
  • SQL Server9,流程控制 Execute 语句(*)

    ylbtech-SQL Server:SQL Server-9,流程控制 Execute 语句

     SQL Server 流程控制中的 Execute 语句。

    1,Execute语句(插入很实用select * into Orders_'+@year+' from Orders where Year(OrderDate)='+@year)
     1 --=============================================================
     2 -- 1,Execute语句
     3 -- Desc:Execute语句可用来执行存储过程、用户自定义函数或批处理中的命令字符串。在SQL Server2005
     4 -- 中Execute语句还可以向连接服务器发送传递命令。严格来说,Execute语句不属于T-SQL流程控制语句
     5 -- ,但它在T-SQL程序中使用频率很高。
     6 -- author:ylbtech
     7 -- pubdate:22:25 2012/12/18
     8 --=============================================================
     9 go
    10 
    11 go
    12 --=============================================================
    13 -- 2.1,Syntax(运行存储过程或函数的语法代码)
    14 --=============================================================
    15 [Exec|Execute]
    16 {
    17     [@return_status=]
    18     {module[;number]|@module_name_var}    
    19     [[@parameter]
    20         {
    21             value
    22             |@variable[Output]
    23             |[Default]
    24         }
    25     ]
    26     [,...n]
    27 }
    28 [;]
    29 --2.1,Remark:
    30 go
    31 --=============================================================
    32 -- 2.2,Syntax(运行字符串的语法代码)
    33 --=============================================================
    34 {Exec|Execute}
    35     ({@string_varialble|[N]'tsql_string'}[+...n])
    36     [As{Login|User}='name']
    37 [;]
    38 --2.2,Remark:
    39 
    40 go
    41 --=============================================================
    42 -- 2.3,Syntax(向连接服务器发送传递命令的语法代码)
    43 --=============================================================
    44 {Exec|Execute}
    45     ({@string_vaiable|[N]'command_string'}[+...n])
    46     [{,{value|@variable[Output]}}[...n]]
    47     )
    48     [As{Login|User}='name']
    49     [At linked_server_name]
    50 [;]
    51 --2.2,Remark:
    52 go
    53 --=============================================================
    54 -- 3,Example
    55 -- Desc:将订单表里1991年到2000年的订单分别放在一个新建的数据表中。
    56 --=============================================================
    57 use Northwind
    58 go
    59 
    60 Declare @execStr varchar(1000)
    61 Declare @year int
    62 Set @year=2000
    63 
    64 While @year>1990
    65 Begin
    66 Set @execStr='select * from Orders where Year(OrderDate)='
    67     +Cast(@year As varchar(4))    --[注释一]
    68     Exec(@execStr)    --[注释二]
    69 
    70 --[注释三]
    71 If @@ROWCOUNT>0
    72     Execute('select * into Orders_'+@year+' from Orders where Year(OrderDate)='+@year)
    73     Set @year=@year-1
    74 End
    75 go
    76 --remark:
    77 --【注释一】将查询语句放在一个变量中。
    78 --【注释二】执行变量中的查询语句。
    79 --【注释三】当该年订单数量不为零时将查询出来的记录插入一个新表中。
    80 select * from Orders
    81 
    82 go
    83 --=============================================================
    84 -- 4,Operation result
    85 --=============================================================
    warn 作者:ylbtech
    出处:http://ylbtech.cnblogs.com/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    css文档之盒模型阅读笔记
    《图解HTTP》阅读总结
    好博客-持续收藏中。。。
    Linux下Nagios的安装与配置
    在Linux上使用logwatch分析监控日志文件
    根据Request检测是否为移动端设备访问
    MyEclipse启动一直停留在Loading workbench界面上的处理
    使用JSONP进行跨域请求
    Page.java
    JsonUtil.java
  • 原文地址:https://www.cnblogs.com/ylbtech/p/2832140.html
Copyright © 2011-2022 走看看