SQL NOTE-VARIABLE
GOTO 可以直接跳转到制定的标签 DECLARE @ID INT; SET @ID=10; IF(@ID=1) BEGIN GOTO myOk; END ELSE BEGIN GOTO myError; END myOk: PRINT 'OK'; myError: PRINT 'Error'; --============================================================================================= WAITFOR: 1: WAITFOR DELAY '0:00:01'; 2: WAITFOR TIME '12:00:00'; RETURN: Break the current batch and return value or nothing RAISEERROR: Throw an error and continue to execute the next statement; RAISERROR(N'error message',---message 10,--Severity, 1,--Error state 'Para1'--Parameter) --============================================================================================= 全局变量(Global variable)使用@@作为前缀,由系统定义,在实例范围内可见,对用户只读 局部变量(Local variable)使用@作为前缀,在定义局部变量的批处理中可见,由用户创建、赋值或修改。 使用Declare来对局部变量声明,声明类型不能为Text/NText/Image类型,当声明为字符类型且没有指定长度时,默认长度为1; 所有为赋值的局部变量默认值为null; 可以使用SET和SELECT对局部变量赋值,在SELECT中对局部变量赋值时,如果SELECT查询结果为多行时,则使用最后一行的值对局部变量赋值。 DECLARE @ID NVARCHAR(200) SELECT @ID=C1 FROM dbo.T1 SELECT @ID DECLARE @ID NVARCHAR(200) SET @ID=(SELECT TOP(1)C1 FROM dbo.T1) SELECT @ID --============================================================================================= 局部变量存在存在内存中(包括局部表变量)。 局部表变量是一种特殊的局部变量,与临时表有本质区别,不能在局部表变量上添加索引。 DECLARE @T TABLE ( UserID INT IDENTITY(1,1) NOT NULL PRIMARY KEY, UserName NVARCHAR(20) ) INSERT INTO @T(UserName) SELECT 'U1' UNION ALL SELECT 'U2' SELECT * FROM @T --============================================================================================= 集合操作 集合合并:UNION/UNION ALL 集合相交:INTERSECT 集合相减:EXCEPT 在集合操作中,NULL会被当做同一个值看待。 --=============================================================================================
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现