`

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 --释放游标
分享到:
评论

相关推荐

    sql server2008轻松编写t-sql存储过程

    本文将重点介绍如何在SQL Server 2008环境中轻松编写T-SQL存储过程,并通过具体的示例来展示其实现方法。 #### 二、SQL Server Management Studio (SSMS) 在SQL Server 2008中,SQL Server Management Studio ...

    T-SQL语言基础 T-SQL语言基础

    掌握这些概念对于编写高效的SQL查询和存储过程至关重要。了解和熟练运用T-SQL语言,能帮助数据库管理员和开发人员更好地管理和维护SQL Server数据库,提升数据处理效率,实现更复杂的业务逻辑。

    sql server 2012 T-SQl基础教程 源码和示例数据库

    本教程专注于Microsoft SQL Server 2012中的Transact-SQL(T-SQL)语言,这是SQL Server的主要查询语言,用于数据操作、查询、存储过程和数据库对象的编程。T-SQL是SQL Server开发者的核心技能,无论你是新手还是...

    Inside Microsoft SQL Server 2008 T-SQL Programming.pdf

    它不仅覆盖了T-SQL编程的基础知识,还深入探讨了许多高级主题,如存储过程、触发器、函数等,同时还提供了大量的性能优化技巧和最佳实践建议。对于希望提升自己SQL Server技能的开发者和DBA来说,这是一本非常有价值...

    T-SQL示例大全(全是T-SQL语句 )

    2. 存储过程:存储过程是一组预先编译好的T-SQL语句,可以接受参数,返回值,甚至可以包含事务处理。创建存储过程的SQL语句是`CREATE PROCEDURE 存储过程名 AS BEGIN...END`,调用存储过程使用`EXEC 存储过程名 ...

    Inside Microsoft SQL Server 2008 T-SQL Programming

    T-SQL,即Transact-SQL,是SQL的一个扩展,主要用于微软的SQL Server系统中,用于数据查询、更新、插入和删除,以及复杂的存储过程和触发器的编写。 在SQL Server 2008版本中,T-SQL得到了许多增强和改进,这本书将...

    T-SQL 语法参考手册.docx

    以上只是T-SQL语法参考手册的一部分,实际手册会涵盖更多高级主题,如游标、事务处理、存储过程、触发器、视图、索引等。掌握T-SQL不仅能够帮助你高效地操作SQL Server,也是成为合格数据库管理员或开发者的必备技能...

    《T-SQL 2008 入门》[PDF]

    在T-SQL的进阶部分,读者将接触到存储过程和函数的创建与调用,这在实际开发中非常常用。存储过程可以封装复杂的逻辑,提高代码复用性,而函数则能返回单一值,便于在查询中使用。此外,触发器的概念也会被讲解,它...

    Microsoft SQL Server 2008技术内幕:T-SQL查询.pdf

    T-SQL是微软SQL Server数据库管理系统的核心语言,用于数据操作、查询、存储过程编写以及数据库对象的管理。本书详细阐述了如何有效地利用T-SQL来处理和分析数据。 在SQL Server 2008中,T-SQL得到了进一步的增强和...

    Microsoft SQL Server 2008技术内幕:T-SQL查询_源代码及附录.zip

    T-SQL是SQL Server数据库管理系统的核心语言,用于数据操作、查询、存储过程编写以及数据库管理等任务。这本书的源代码及附录内容提供了丰富的实例和详尽的解释,帮助读者深化对T-SQL的理解和应用。 1. **T-SQL查询...

    T-SQL用户指南&T-SQL用户手册打包下载

    T-SQL不仅仅是SQL的基础语法,它还提供了更丰富的功能,如流程控制、变量定义、函数使用、存储过程以及触发器等,使得数据库管理与开发更为高效和灵活。 1. **基本查询语句**:T-SQL的基础在于查询,SELECT语句用于...

    Microsoft SQL Server 2008 T-SQL Fundamentals

    在T-SQL中,存储过程和触发器是两个重要的高级概念。它们允许用户编写可重用的代码块,并在特定事件发生时自动执行。存储过程可以提高效率,减少网络流量,而触发器则可以实现数据的完整性约束。书中的这部分内容将...

    Microsoft SQL Server 2005技术内幕:T-SQL查询的源代码

    T-SQL(Transact-SQL)是Microsoft SQL Server数据库管理系统中用于数据操作、查询、存储过程和数据库控制的一种扩展SQL语法。此书主要关注于如何高效地使用T-SQL进行数据检索和处理,为数据库管理员和开发人员提供...

    17套T-SQL试题

    T-SQL包含许多高级功能,如存储过程、触发器、函数(内置和用户定义)、视图、事务和批处理。存储过程是预编译的SQL代码集合,可提高性能和代码重用;触发器允许在数据更改前后自动执行操作;函数可以返回单个值或...

    [电子书] SQL Server 2012 T-SQL 实用技巧 (英文版)

    SQL(Structured Query Language)是用于管理和处理关系数据库的强大工具,而T-SQL(Transact-SQL)是SQL Server的扩展,增加了诸如事务处理、存储过程和触发器等高级功能。对于SQL Server 2012,T-SQL的掌握至关...

    T-SQL学习资料(CSDN下载)集合

    2. 存储过程(PROCEDURE):T-SQL支持创建和调用存储过程,这是一种预编译的SQL代码集合,可以提高性能,简化复杂的操作,并提供安全性。 3. 触发器(TRIGGER):在数据库中定义特定事件(如INSERT、UPDATE或DELETE...

    T-sql的存储过程

    **T-SQL存储过程详解** T-SQL,全称Transact-SQL,是SQL Server数据库管理系统中的编程语言,它是标准SQL的扩展,主要用于管理和操作Microsoft SQL Server数据库。T-SQL的强大之处在于它允许用户编写复杂的数据库...

    Microsoft SQL Server 2005技术内幕全套(三):T-SQL查询.part1

    在SQL Server 2005中,T-SQL的重要性不言而喻,它是进行数据操作、存储过程编写、触发器创建以及复杂查询的核心工具。 本书首先会介绍T-SQL的基础概念,包括SELECT语句的基本用法,如何从一个或多个表中检索数据,...

Global site tag (gtag.js) - Google Analytics