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语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
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
相关文章
|
6月前
|
SQL 缓存 关系型数据库
一条SQL执行是如何执行的?它的执行流程是什么?跟我一起探索吧!
一条SQL执行是如何执行的?它的执行流程是什么?跟我一起探索吧!
一条SQL执行是如何执行的?它的执行流程是什么?跟我一起探索吧!
|
6月前
|
SQL Java 关系型数据库
实时计算 Flink版操作报错之如何处理从源表插入数据到结果表报错误:[ERROR] Could not execute SQL statement.
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
2月前
|
SQL 缓存 关系型数据库
揭秘MySQL一条SQL语句的执行流程
以上步骤共同构成了MySQL处理SQL语句的完整流程,理解这一流程有助于更有效地使用MySQL数据库,优化查询性能,及时解决可能出现的性能瓶颈问题。
85 7
|
3月前
|
Java 测试技术 容器
从零到英雄:Struts 2 最佳实践——你的Web应用开发超级变身指南!
【8月更文挑战第31天】《Struts 2 最佳实践:从设计到部署的全流程指南》深入介绍如何利用 Struts 2 框架从项目设计到部署的全流程。从初始化配置到采用 MVC 设计模式,再到性能优化与测试,本书详细讲解了如何构建高效、稳定的 Web 应用。通过最佳实践和代码示例,帮助读者掌握 Struts 2 的核心功能,并确保应用的安全性和可维护性。无论是在项目初期还是后期运维,本书都是不可或缺的参考指南。
49 0
|
3月前
|
SQL 存储 数据管理
掌握SQL Server Integration Services (SSIS)精髓:从零开始构建自动化数据提取、转换与加载(ETL)流程,实现高效数据迁移与集成——轻松上手SSIS打造企业级数据管理利器
【8月更文挑战第31天】SQL Server Integration Services (SSIS) 是 Microsoft 提供的企业级数据集成平台,用于高效完成数据提取、转换和加载(ETL)任务。本文通过简单示例介绍 SSIS 的基本使用方法,包括创建数据包、配置数据源与目标以及自动化执行流程。首先确保安装了 SQL Server Data Tools (SSDT),然后在 Visual Studio 中创建新的 SSIS 项目,通过添加控制流和数据流组件,实现从 CSV 文件到 SQL Server 数据库的数据迁移。
146 0
|
3月前
|
SQL 数据库 数据库管理
SQL查询是否都需要解析:深入解析SQL执行流程与优化技巧
在数据库管理系统中,SQL(Structured Query Language)查询是用户与数据库交互的主要方式
|
6月前
|
SQL 算法
基于若依的ruoyi-nbcio流程管理系统修改代码生成的sql菜单id修改成递增id(谨慎修改,大并发分布式有弊端)
基于若依的ruoyi-nbcio流程管理系统修改代码生成的sql菜单id修改成递增id(谨慎修改,大并发分布式有弊端)
92 1
|
5月前
|
SQL Oracle 关系型数据库
mysql和oracle 命令行执行sql文件 数据库执行sql文件 执行sql语句
mysql和oracle 命令行执行sql文件 数据库执行sql文件 执行sql语句
71 0
|
6月前
|
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社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
314 0
|
6月前
|
SQL
flowable的流程任务统计sql(续)
flowable的流程任务统计sql(续)
41 0