T-SQL

T-SQL 知识量:16 - 67 - 243

1.3 变量><

全局变量- 1.3.1 -

T-SQL全局变量是SQL Server中预定义的特殊变量,可以在整个数据库会话中访问。全局变量以@符号作为前缀,并且可以使用SELECT语句进行查询。

T-SQL全局变量分为两种类型:会话变量和全局变量。会话变量在当前会话中有效,而全局变量在整个数据库会话中都有效。

可以使用SET语句为全局变量赋值,例如:

SET @myVariable = 'Hello, world!'

在上面的例子中,@myVariable是一个全局变量,被赋值为字符串值'Hello, world!'。

可以使用SELECT语句来检索全局变量的值,例如:

SELECT @myVariable

在上面的例子中,将返回@myVariable的值。

需要注意的是,全局变量的值在程序运行期间可以被修改,因此它们通常用于存储一些需要跨多个语句使用的值,例如数据库连接字符串等。

局部变量- 1.3.2 -

在T-SQL(Transact-SQL)中,局部变量是特定于会话的,这意味着它们是用户连接到数据库时的私有存储。这些变量用于存储一个会话中的临时数据,例如存储在临时表或表变量中的数据,或者仅仅是为了满足特定查询的需要。

以下是如何在T-SQL中声明和使用局部变量的基本步骤:

1. 声明变量:
使用DECLARE关键字来声明一个局部变量。

DECLARE @MyVariable INT;

2. 设置变量的值:
使用SET或SELECT来为变量赋值。

SET @MyVariable = 10;    
-- 或者      
SELECT @MyVariable = 10;

3. 使用变量:
在查询中,可以直接引用变量的名称来使用它。

SELECT * FROM MyTable WHERE ColumnName = @MyVariable;

4. 结束会话:
当用户断开与数据库的连接时,局部变量的数据将被清除。

注意:在存储过程或函数中使用的局部变量,其生命周期与存储过程或函数相同。当存储过程或函数结束时,这些局部变量也会结束。

使用局部变量时,还需要注意以下几点:

  • 局部变量的名称总是以@符号开始。

  • 局部变量的作用域限定在声明它的批处理或存储过程内。

  • 如果尝试在未声明变量的批处理或存储过程中使用它,将会收到一个错误。

  • 局部变量的名称与表中的列名或视图名不冲突,除非使用了明确的命名约定(例如,总是使用前缀)。

批处理和脚本- 1.3.3 -

T-SQL批处理和脚本是SQL Server中用于执行一系列SQL语句的两种主要方式。

1. T-SQL批处理:
T-SQL批处理是SQL Server中用于执行一组SQL语句的一种方法。它可以将多个SQL语句组合在一起,并作为一个单独的单元来执行。在批处理中,可以使用GO命令来分隔不同的SQL语句组,并指定要执行的特定组。

以下是一个简单的T-SQL批处理示例,用于创建一个数据库和一个表,并向其中插入数据:

-- 创建数据库  
CREATE DATABASE TestDB;  
GO  
  
-- 切换到新创建的数据库  
USE TestDB;  
GO  
  
-- 创建表  
CREATE TABLE Customers (  
    CustomerID INT,  
    FirstName VARCHAR(50),  
    LastName VARCHAR(50),  
    Email VARCHAR(50)  
);  
  
-- 插入数据  
INSERT INTO Customers (CustomerID, FirstName, LastName, Email)  
VALUES (1, 'John', 'Doe', 'john.doe@example.com');  
  
INSERT INTO Customers (CustomerID, FirstName, LastName, Email)  
VALUES (2, 'Jane', 'Smith', 'jane.smith@example.com');  
  
-- 查询数据  
SELECT * FROM Customers;

这个批处理首先使用CREATE DATABASE语句创建一个名为TestDB的数据库,然后使用USE语句切换到该数据库。接着,使用CREATE TABLE语句创建一个名为Customers的表,并使用INSERT INTO语句向表中插入两行数据。最后,使用SELECT * FROM语句查询整个表的数据。注意:在批处理中使用GO命令来分隔不同的SQL语句组,并指定要执行的特定组。

2. T-SQL脚本:
T-SQL脚本是一种将多个T-SQL语句保存到单个文件中并一次性执行的方式。脚本可以使用任何文本编辑器创建,并保存为以.sql为扩展名的文件。在脚本中,可以包含多个SQL语句、注释和其他T-SQL语法元素。

以下是一个简单的T-SQL脚本示例,用于创建一个表并向其中插入数据:

-- 创建表  
CREATE TABLE Customers (  
    CustomerID INT,  
    FirstName VARCHAR(50),  
    LastName VARCHAR(50),  
    Email VARCHAR(50)  
);  
  
-- 插入数据  
INSERT INTO Customers (CustomerID, FirstName, LastName, Email)  
VALUES (1, 'John', 'Doe', 'john.doe@example.com');  
  
INSERT INTO Customers (CustomerID, FirstName, LastName, Email)  
VALUES (2, 'Jane', 'Smith', 'jane.smith@example.com');  
  
-- 查询数据  
SELECT * FROM Customers;

这个脚本首先使用CREATE TABLE语句创建一个名为Customers的表,然后使用INSERT INTO语句向表中插入两行数据。最后,使用SELECT * FROM语句查询整个表的数据。