select @variable

cvinx 2003-05-20 09:05:38
t-sql 里面select 直接加变量后面什么也不加是什么意思

例如select @returnvalue
...全文
19 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
pengdali 2003-05-20
显示这个变量的值

select 1,2,3,'大力',@aaa
回复
cvinx 2003-05-20
但在oracle中无法使用阿
DECLARE
v_RtnValue NUMBER;
BEGIN
v_RtnValue := 1;
SELECT v_RtnValue FROM dual;
END;

提示需要一个into语句
回复
select @returnvalue
显示变量@returnvalue的值。
回复
psxfghost 2003-05-20
帮助中的东东:
语法
SELECT { @local_variable = expression } [ ,...n ]

参数
@local_variable

是给其赋值的声明变量。

expression

是任何有效的 Microsoft® SQL Server™ 表达式,包括标量子查询。

注释
SELECT @local_variable 通常用于将单个值返回到变量中。例如,如果 expression 为列名,则返回多个值。如果 SELECT 语句返回多个值,则将返回的最后一个值赋给变量。

如果 SELECT 语句没有返回行,变量将保留当前值。如果 expression 是不返回值的标量子查询,则将变量设为 NULL。

在第一个示例中,将变量 @var1 赋给 Generic Name 作为它的值。在 Customers 表中不存在为 CustomerID 指定的值,因此对该表的查询不返回行。该变量将保留 Generic Name 值。

USE Northwind
DECLARE @var1 nvarchar(30)
SELECT @var1 = 'Generic Name'

SELECT @var1 = CompanyName
FROM Customers
WHERE CustomerID = 'ALFKA'

SELECT @var1 AS 'Company Name'

结果如下:

Company Name
----------------------------------------
Generic Name

在下例中,子查询用于给 @var1 赋值。为 CustomerID 请求的值不存在,因此子查询不返回值并将该变量设为 NULL。

USE Northwind
DECLARE @var1 nvarchar(30)
SELECT @var1 = 'Generic Name'

SELECT @var1 =
(SELECT CompanyName
FROM Customers
WHERE CustomerID = 'ALFKA')

SELECT @var1 AS 'Company Name'

结果如下:

Company Name
----------------------------
NULL

一个 SELECT 语句可以初始化多个局部变量。



说明 也不能使用包含变量赋值的 SELECT 语句执行规范结果集检索操作。

回复
a1n1 2003-05-20
就是查看一下@returnvalue的返回值。
回复
mjhnet 2003-05-20
类似于oracle的虚表

select @变量 from dual

回复
a1n1 2003-05-20
declare @returnvalue int
set @returnvalue=1
select @returnvalue
结果:
(无列名)
-----------------
1 1
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2003-05-20 09:05
社区公告
暂无公告