Sql server 没有FROM的SELECT语句用于什么?
我正在分析一个存储过程。 在那里,我遇到了一个Sql server 没有FROM的SELECT语句用于什么?,sql-server,tsql,stored-procedures,Sql Server,Tsql,Stored Procedures,我正在分析一个存储过程。 在那里,我遇到了一个SELECT语句,如下所示 select @msg = 'spid: ' + convert(varchar(12), @@spid) + ' pre mat pull - PRODUCT_WORK COUNT = ' + convert(char(6), @@rowcount) 没有来自的的此语句有什么作用?它是如何工作的?我们什么时候用 我们不能用SET代替SELECT 请提供帮助。在这种特殊情况下,您可以使用set而不是select。但是使用
SELECT
语句,如下所示
select @msg = 'spid: ' + convert(varchar(12), @@spid) + ' pre mat pull - PRODUCT_WORK COUNT = ' + convert(char(6), @@rowcount)
没有来自的的此语句有什么作用?它是如何工作的?我们什么时候用
我们不能用SET
代替SELECT
请提供帮助。在这种特殊情况下,您可以使用set
而不是select
。但是使用选择可以一次分配多个变量,如
select @msg = 'msg', @data = 'data
SELECT
不带表将生成一个结果集,该结果集投影您指定的列和值-这可以绑定到应用程序中的结果集或读取器,与绑定表的SELECT
工作方式相同
SELECT
不带表是并且将只在某些RDBMS(如SqlServer
)中工作,但不是全部-例如,Oracle的SELECT
需要一个表,但为此提供了一个伪表DUAL
它还可用于SqlServer
-SELECT
中的赋值,允许在一条语句中赋值多个变量:
SELECT @SomeVar = 1234, @AnotherVar = 'Foo';
你必须理解@和@@
@msg = local variable
@@spid and @@rowcount = global variable
set和select几乎相同,但select可以从DB中获取值。Set无法从DB中获取值。还有一个问题,就是您可以使用它将变量合并到结果集中。即。。。选择联合所有从中选择