`

T-SQL存储过程语法

阅读更多
一.注释
-- 单行注释,从这到本行结束为注释,类似C++,c#中// 
/* … */ 多行注释,类似C++,C#中/* … */

二.变量(int, smallint, tinyint, decimal,float,real, money ,smallmoney, text ,image, char, varchar。。。。。。) 
语法: 
DECLARE 
{ 
{@local_variable data_type} 
} [,...n] 
例如:
declare @ID int --申明一个名为@ID的变量,类型为int型 

三.在SQL Server窗口中打印出变量的值
语法: 
PRINT 'any ASCII text' | @local_variable | @@FUNCTION | string_expr 

四.变量赋值
例如:
--从数据表中取出第一行数据的ID,赋值给变量@id,然后打印出来 
Declare @ID int 
Set @ID = (select top(1) categoryID from categories) 
Print @ID 

在SQL中,我们不能像代码那样直接给变量赋值,例如@id = 1,如果要达到这样的功能,可以这样写:
Declare @ID int 
Set @ID = (select 1) -- 类似 @ID=1 
Select @id=1 -- 类似 @ID=1 
Print @ID

五.变量运算(+,-,*,/,……)
以下必要时候省略变量申明 
Set @ID = (select 1+5) --类似 @ID=1+5 
Set @ID=(select 1-@ID) --类似 @ID=1-@ID 

六.比较操作符 
• > (greater than). 
• < (less than). 
• = (equals). 
• <= (less than or equal to). 
• >= (greater than or equal to). 
• != (not equal to). 
• <> (not equal to). 
• ! < (not less than). 
• !> (not greater than). 
没什么说的

七.语句块:Begin … end 
将多条语句作为一个块,类似与C++,C#中的{ } 
例如: 
Begin 
Set @ID1 = (select 1) 
Set @ID2 = (select 2) 
End 

八.If, if…else… 
语法: 
IF Boolean_expression 
{sql_statement | statement_block} 
[ELSE 
{sql_statement | statement_block}] 

例如: 
If @id is not null 
Print ‘@id is not null 
if @ID = 1 
begin 
Set @ID = (select 1 + 1) 
end 
else 
begin 
set @ID=(select 1+2) 
end

上面的例子用到了比较操作符,语句块,和IF的语法。

九.执行其他存储过程 EXEC 
例如:
EXEC dbo.[Sales by Year] @Beginning_Date=’1/01/90’, @Ending_Date=’1/01/08’

十.事务
语法: 
BEGIN TRAN[SACTION] [transaction_name | @tran_name_variable] 

例如:
BEGIN TRAN 
-- 做某些操作,例如Insert into … 
if @@error <> 0 
BEGIN 
ROLLBACK TRAN 
END 
else 
BEGIN 
COMMIT TRAN 
END 

十一.游标
我们可以在存储过程中用Select语句取出每一行数据进行操作,这就需要用到游标。 

语法: 
DECLARE cursor_name CURSOR 
[LOCAL | GLOBAL] 
[FORWARD_ONLY | SCROLL] 
[STATIC | KEYSET | DYNAMIC | FAST_FORWARD] 
[READ_ONLY | SCROLL_LOCKS | OPTIMISTIC] 
[TYPE_WARNING] 
FOR select_statement 

[FOR UPDATE [OF column_name [,...n]]]

例如: 
DECLARE @au_id varchar(11), @au_fname varchar(20) –申明变量 
--申明一个游标 
DECLARE authors_cursor CURSOR FOR 
SELECT au_id, au_fname FROM authors 
--打开游标 
OPEN authors_cursor 
--取出值 
FETCH NEXT FROM authors_cursor INTO @au_id, @au_fname 
--循环取出游标的值 
WHILE @@FETCH_STATUS = 0 
BEGIN 
Print @au_id 
Print @au_fname 
Print ‘ ’ 
FETCH NEXT FROM authors_cursor 
INTO @au_id, @au_fname 
END 
CLOSE authors_cursor –关闭游标 
DEALLOCATE authors_cursor --释放游标
分享到:
评论

相关推荐

    T-SQL语法详解

    T-SQL语法 一、数据库存储结构 二、数据库表存储结构 三、约 束 四、规 则 五、默认 六、索 引 七、视图 八、触发器 九、select,delete,update,insert语句使用方法 十、函数数据整理 十一、游标 十二、存储过程

    T-SQL电子书包含PPT及学习笔记、课后作业 非常好的sql学习资料

    T-SQL中级教程,包括PPT、学习笔记及课后作业,非常经典的教程 --建库之前先建路径的代码 exec xp_cmdshell'mkdir d:\mydata', --也可以用exec xp_cmdshell'md d:\mydata' no_output exec xp_cmdshell'rd d:\...

    T-SQL编程入门(SQL Server)

    SqlServer脚本语言入门(t-sql),包含最基本的建库,建表,建约束等简单语法.还包括事务,存储过程以及触发器等基本语法. 适合初学者编程时使用!

    sqlserver-T-sql示例

    T-sql基本语法示例 1.建库建表,建约束 2.查询 3.视图 4.存储过程 5.触发器

    T-SQL程序设计基础1.ppt

    T-SQL 中的变量是指用于存储数据的变量,例如局部变量、全局变量等。变量可以用于存储计算结果、配置参数等。 7. T-SQL 中的函数 T-SQL 中的函数是指用于执行特定操作的函数,例如聚合函数、字符串函数、日期和...

    T-SQL 入门不求人

    非常好的一本详细讲解数据库的书,数据库 T-SQL 存储过程 SQL语法大全 应有尽有

    T-SQl语法大全

    T-SQL 语法大全 T-SQL 语法大全是 Microsoft 的 SQL Server relational database management system 中使用的结构化查询语言。它提供了一个强大且灵活的方式来管理和操作数据库。下面是 T-SQL 语法大全中的一些重要...

    Transact-SQL 编程

    --T-SQL语句用于管理SQL Server数据库引擎实例,创建和管理数据库对象, --以及查询、插入、修改和删除数据。 --Ø 变量 --1、局部变量(Local Variable) --局部变量是用户可以自定义的变量,它的作用范围是仅在...

    T-SQL语法帮助文档

    很完整的SQL语法帮助手册!! 希望能给您一点点帮助

    SQL-Server数据库及应用-第08章-T-SQL语言完整.pptx

    T-SQL语言是SQL Server数据库管理系统中使用的编程语言,用于编写数据库应用程序和存储过程。下面是T-SQL语言的主要知识点: 批处理 批处理是T-SQL语言中的一种机制,用于将多条SQL语句分隔成一个逻辑单元,以提高...

    13_4 SQL编程基础-T-SQL游标.pptx

    SQL Server 编程基础 - T-SQL 游标 T-SQL 游标是 SQL Server 中的一种重要概念,提供了一种对从表中检索出的数据进行操作的灵活手段。游标是一种能从包含多条数据记录的结果集中每次提取一条记录的机制,用户可以...

    用T-SQL语句完成创建与管理数据库操作练习.doc

    使用T-SQL语句可以创建新的数据库,语法为: ```sql CREATE DATABASE 数据库名 [ON [PRIMARY] {(NAME=数据文件的逻辑名称, FILENAME='数据文件的路径和文件名', SIZE=数据文件的初始容量, MAXSIZE=数据文件...

    T-SQL数据库学习笔记

    利用T-SQL语言建立数据库学习笔记总结,包括建数据库,建表,建存储过程等语法及例子!

    数据库编程-存储过程-触发器-级联更新-SQL-server-游标、全网最全最详细编程实战

    1.掌握T-SQL基本语法 2.建立对象时应该先排查在系统表中是否有相同名字的对象。 四、注意事项 1.调用存储过程时传递参数。 2.触发器不接受用户应用程序传递的参数。 五、实验学时:6学时 六、实验重点及...

    sonar-tsql-plugin:SonarQube的T-SQL语言插件

    该存储库包含Sonar的T-SQL语言插件。 !!! 重要!!! 该插件将不再更新。 请改用因为它支持多种方言并包含各种代码修复。 描述 当前插件支持: Microsoft的14条代码分析规则。 可以在找到更多详细信息。 SQL Code...

    用T-SQL语句完成创建和管理数据库操作练习.doc

    "T-SQL 语句创建和管理数据库操作练习" 在本文档中,我们将学习如何使用 T-SQL 语句创建和管理数据库操作。数据库是存储数据的基本单元,如何正确地创建和管理数据库是数据库管理员的重要任务。 创建数据库 创建...

    数据库-第四次实验报告-视图-t-sql语句.docx

    本实验报告的主要目标是掌握创建视图的 SQL 语句的用法、使用企业管理器创建视图的方法、使用创建视图向导创建视图的方法、查看视图的系统存储过程的用法、修改视图的方法。 实验准备: 1. 了解创建视图的方法。 2...

    代码自动生成工具(vb类 java类 sql存储过程...)

    模板编辑和代码查看支持语法高亮 (Java, VB, T-SQL) 可以新增语法文件,文件格式类似于 EditPlus 软件附带模板包括: VB 三层结构中实体和实体操作类 Java MVC 模式下Bean和 Action类 MSSQL 表操作...

    一二三四实验.doc

    在实际操作中,学习者应该掌握以下T-SQL语言的关键概念和语法: 1. 数据类型:如CHAR、VARCHAR、INT、DATE等,用于定义列的存储类型。 2. CREATE TABLE语句:用于创建新的数据表。 3. PRIMARY KEY和UNIQUE约束:确保...

    sqlserver存储过程

    -------------------------存储过程创建语法----------------------------------- /* 1.存储过程创建语法 create proc | procedure pro_name [{@参数数据类型} [=默认值] [output], {@参数数据类型} [=默认值] ...

Global site tag (gtag.js) - Google Analytics