gpt4 book ai didi

sql - 一个 DECLARE block 中的 T-SQL 表和其他变量

转载 作者:行者123 更新时间:2023-12-03 15:30:19 24 4
gpt4 key购买 nike

以下无法编译:

  DECLARE
@DateFrom Date = '20151225',
@DateTo Date = '20151226',
@Ids TABLE (Id Int NOT NULL);

有错误:

Incorrect syntax near the keyword 'TABLE'.



但是当我添加自己的 DECLARE对于表变量声明,它可以完美编译:
 DECLARE
@DateFrom Date = '20151225',
@DateTo Date = '20151226';

DECLARE
@Ids TABLE (Id Int NOT NULL);

Here是 SQL fiddle 。

第一个片段有什么问题?我们不允许声明共享相同的表变量 DECLARE与其他变量声明阻塞?

最佳答案

来自 DECLARE documentation :

When declaring table variables, the table variable must be the only variable being declared in the DECLARE statement.



您也可以在语法中清楚地看到它:
DECLARE 
{
{ @local_variable [AS] data_type | [ = value ] }
| { @cursor_variable_name CURSOR }
} [,...n]
| { @table_variable_name [AS] <table_type_definition> }

一个或多个 @local_variable s 可以被声明( [,...n] 部分),或者只有一个 @table_variable_name .

关于sql - 一个 DECLARE block 中的 T-SQL 表和其他变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34467004/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com