SQLSERVER 里AS前后定义的变量有什么区别嘛
CREATEPROCEDUREPagination@tblNamevarchar(255),--表名ASdeclare@ddatetimeset@d=getdate()如...
CREATE PROCEDURE Pagination
@tblName varchar(255), -- 表名
AS
declare @d datetime
set @d=getdate()
如果前面是参数,那是输出参数,还是输和参数 展开
@tblName varchar(255), -- 表名
AS
declare @d datetime
set @d=getdate()
如果前面是参数,那是输出参数,还是输和参数 展开
5个回答
推荐于2017-09-27 · 知道合伙人软件行家
关注
展开全部
CREATE PROCEDURE p_PName
@ID int
AS
begin
DECLARE @Num INT
end
如上为存储过程模板,在AS之前的为存储过程参数,需要外部传入或接受。调用方式如下。
exec p_PName @ID=1 或者 EXEC p_PName 1(省略参数名),但外部都是需要传入的。
在AS后定义的变量,可以理解为临时变量,外部是无法访问到此变量的。
@ID int
AS
begin
DECLARE @Num INT
end
如上为存储过程模板,在AS之前的为存储过程参数,需要外部传入或接受。调用方式如下。
exec p_PName @ID=1 或者 EXEC p_PName 1(省略参数名),但外部都是需要传入的。
在AS后定义的变量,可以理解为临时变量,外部是无法访问到此变量的。
厦门鲎试剂生物科技股份有限公司
2023-08-01 广告
2023-08-01 广告
BG试验又称为G试验,是一种基于真菌细胞壁成分的血清学试验。BG试验检测的是真菌细胞壁中的葡聚糖成分。操作步骤如下:1. 左键单击【View】2. 左键单击【Residual Diagnostics】3. 左键单击【Series Corre...
点击进入详情页
本回答由厦门鲎试剂生物科技股份有限公司提供
展开全部
SQL Server
SQL Server 的 OUTPUT 需要写在变量数据类型后面。
SQL Server 没有 IN OUT 关键字
OUTPUT 已经相当于 IN OUT 了。
1> CREATE PROCEDURE HelloWorld2
2> @UserName VARCHAR(10),
3> @OutVal VARCHAR(10) OUTPUT,
4> @InoutVal VARCHAR(10) OUTPUT
5> AS
6> BEGIN
7> PRINT 'Hello ' + @UserName + @InoutVal + '!';
8> SET @OutVal = 'A';
9> SET @InoutVal = 'B';
10> END;
11> go
1>
2> DECLARE @RC int, @OutVal VARCHAR(10), @InoutVal VARCHAR(10);
3> BEGIN
4> SET @InoutVal = '~Hi~';
5> EXECUTE @RC = HelloWorld2 'Edward', @OutVal OUTPUT, @InoutVal OUTPUT;
6> PRINT @RC;
7> PRINT '@OutVal=' + @OutVal;
8> PRINT '@InoutVal=' + @InoutVal;
9> END
10> go
Hello Edward~Hi~!
0
@OutVal=A
@InoutVal=B
SQL Server 的 OUTPUT 需要写在变量数据类型后面。
SQL Server 没有 IN OUT 关键字
OUTPUT 已经相当于 IN OUT 了。
1> CREATE PROCEDURE HelloWorld2
2> @UserName VARCHAR(10),
3> @OutVal VARCHAR(10) OUTPUT,
4> @InoutVal VARCHAR(10) OUTPUT
5> AS
6> BEGIN
7> PRINT 'Hello ' + @UserName + @InoutVal + '!';
8> SET @OutVal = 'A';
9> SET @InoutVal = 'B';
10> END;
11> go
1>
2> DECLARE @RC int, @OutVal VARCHAR(10), @InoutVal VARCHAR(10);
3> BEGIN
4> SET @InoutVal = '~Hi~';
5> EXECUTE @RC = HelloWorld2 'Edward', @OutVal OUTPUT, @InoutVal OUTPUT;
6> PRINT @RC;
7> PRINT '@OutVal=' + @OutVal;
8> PRINT '@InoutVal=' + @InoutVal;
9> END
10> go
Hello Edward~Hi~!
0
@OutVal=A
@InoutVal=B
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
前面是调用(执行)此存储过程时输入的参数,后面是内部定义的变量。
Exec Pagination 'tb' -- 根据你的定义,tb是的你表名。表示执行此存储过程时将表名为tb当参数传入。
两者的差别是:前者从外部传入,后者内部赋值。
Exec Pagination 'tb' -- 根据你的定义,tb是的你表名。表示执行此存储过程时将表名为tb当参数传入。
两者的差别是:前者从外部传入,后者内部赋值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
AS 前面的是参数
AS 后面的是内部变量
AS 后面的是内部变量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
输入参数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询