请问什么是SQL的DECLARE语句?

来源:百度知道 编辑:UC知道 时间:2024/05/03 20:40:10
书上在有这样一句话不是很明白“存储设备上的数据库是用SQL存取的,数据库和主语言程序间信息的传递是通过共享变量实现的。这些共享变量要用SQL的DECLARE语句说明... ...”
请问什么是SQL的DECLARE语句?

变量是在批处理或过程的主体中用 DECLARE 语句声明的,并用 SET 或 SELECT 语句赋值。游标变量可使用此语句声明,并可用于其他与游标相关的语句。所有变量在声明后均初始化为 NULL。

在sql里按F1自己看吧

在sql语句中添加变量。
DECLARE @local_variable (Transact-SQL)

变量是在批处理或过程的主体中用 DECLARE 语句声明的,并用 SET 或 SELECT 语句赋值。游标变量可使用此语句声明,并可用于其他与游标相关的语句。除非在声明中提供值,否则声明之后所有变量将初始化为 NULL。

声明时需要指定变量的类型,可以使用set和select对变量进行赋值,在sql语句中就可以使用@local_variable来调用变量

例如:declare @id int

set @id=2

select id

MySQL declare语句是在复合语句中声明变量的指令。

(1)Example with two DECLARE statements
两个DECLARE语句的实例
CREATE PROCEDURE p8 ()
BEGIN
DECLARE a INT;
DECLARE b INT;
SET a = 5;
SET b = 5;
INSERT INTO t VALUES (a);
SELECT s1 * a FROM t WHERE s1 >= b;
END; // /* I won't CALL this */

在过程中定义的变量并不是真正的定义,你只是在BEGIN/END块内定义了而已(译注:也就是形参)。注意这些变量和会话变量不一样,不能使用修饰符@你必须清楚的在BEGIN/END块中声明变量和它们的类型。变量一旦声明,你就能在任何能使用会话变量、文字、列名的地方使用。