早教吧 育儿知识 作业答案 考试题库 百科 知识分享

SQL中什么时候要用declare声明变量?CREATEPROCEDUREPRODUCT@商品号int,@年份int,@毛利intoutputASDECLARE@某商品销售量int,@某商品进价int,@某商品销售单价intBEGINSelect@某商品进价=单价from商品表where

题目详情
SQL中什么时候要用declare声明变量?
CREATE PROCEDURE PRODUCT @商品号 int,@年份 int,@毛利 intoutput
AS
DECLARE @某商品销售量 int,@某商品进价 int,@某商品销售单价 int
BEGIN
Select @某商品进价=单价 from 商品表 where商品号= @商品号
Select @某商品销售单价=销售单价,@某商品销售量=count(*) from 销售表where
商品号=@商品号 and 销售时间=@年份
IF @某商品进价 is NULL THEN
ROLLBACK;
RETURN;
END IF
IF @某商品销售单价is NULL THEN
ROLLBACK;
RETURN;
END IF
SET @毛利=(@某商品销售单价-@某商品进价)*@某商品销售量
GO
这个存储过程中为什么要声明@某商品销售量 int,@某商品进价 int,@某商品销售单价 int这几个变量,能不能不声明,后面直接写 Select 单价 from 商品表 where商品号 =@商品号
Select销售单价,count(*) from 销售表where
商品号=@商品号 and 销售时间=@年份·····SET @毛利=(销售单价-进价)*销售量
或许我这个问题低级了点儿,新手大家不要见笑,我实在不明白中间变量的意思.
▼优质解答
答案和解析
像这种问题,基本上没有为啥...
浅显点:就是 人家开发SQL Server的时候,为了更加让编译器更加方便的识别用户输入的代码.
就规定,如果是定义变量 那么 必须要使用 DECLARE 关键字.
那编译器就很容易的知道. DECLARE 空格后面的第一个字符串就是变量名了.