SQL Server-9,流程控制 Execute 语句(*)

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介:
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 --=============================================================
复制代码

 

本文转自ylbtech博客园博客,原文链接:http://www.cnblogs.com/ylbtech/archive/2012/12/25/2832140.html,如需转载请自行联系原作者

相关实践学习
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
2月前
|
SQL 缓存 关系型数据库
一条SQL执行是如何执行的?它的执行流程是什么?跟我一起探索吧!
一条SQL执行是如何执行的?它的执行流程是什么?跟我一起探索吧!
一条SQL执行是如何执行的?它的执行流程是什么?跟我一起探索吧!
|
7月前
|
SQL 安全 关系型数据库
supersqli(SQL注入流程及常用SQL语句)
supersqli(SQL注入流程及常用SQL语句)
112 0
|
10月前
|
SQL 自然语言处理 算法
OBCP第三章 SQL引擎高级技术-SQL请求执行流程
OBCP第三章 SQL引擎高级技术-SQL请求执行流程
55 0
|
2月前
|
SQL Java 关系型数据库
实时计算 Flink版操作报错之如何处理从源表插入数据到结果表报错误:[ERROR] Could not execute SQL statement.
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
28天前
|
SQL Oracle 关系型数据库
mysql和oracle 命令行执行sql文件 数据库执行sql文件 执行sql语句
mysql和oracle 命令行执行sql文件 数据库执行sql文件 执行sql语句
33 0
|
2月前
|
SQL 算法
基于若依的ruoyi-nbcio流程管理系统修改代码生成的sql菜单id修改成递增id(谨慎修改,大并发分布式有弊端)
基于若依的ruoyi-nbcio流程管理系统修改代码生成的sql菜单id修改成递增id(谨慎修改,大并发分布式有弊端)
39 1
|
2月前
|
Oracle 关系型数据库 数据库
实时计算 Flink版操作报错合集之执行Flink job,报错“Could not execute SQL statement. Reason:org.apache.flink.table.api.ValidationException: One or more required options are missing”,该怎么办
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
127 0
|
2月前
|
SQL
flowable的流程任务统计sql(续)
flowable的流程任务统计sql(续)
16 0
|
2月前
|
SQL
flowable的流程任务统计sql
flowable的流程任务统计sql
34 0
|
2月前
|
SQL 关系型数据库 MySQL
【MySQL】慢SQL分析流程
【4月更文挑战第1天】【MySQL】慢SQL分析流程