Sql server 如何声明SQL Server/LINQPad可以接受的标量变量?
我试图在LINQPad中运行一个T-SQL查询,并引用了关于声明变量的内容,但得到以下结果: 我如何声明和分配VAL给这些变量缺少什么 我可以直接替换作业,例如:Sql server 如何声明SQL Server/LINQPad可以接受的标量变量?,sql-server,tsql,linqpad,scalar,Sql Server,Tsql,Linqpad,Scalar,我试图在LINQPad中运行一个T-SQL查询,并引用了关于声明变量的内容,但得到以下结果: 我如何声明和分配VAL给这些变量缺少什么 我可以直接替换作业,例如: cmonth = @Cmonth …与: cmonth = 4 …但是查询中有几个地方引用了这个值,我不想每次测试不同的数据集时都替换它们 那么,我在做这件事的过程中有什么错误或缺失呢?这是GO语句。在下一个GO语句之前,SQL的每个块都作为自己的批处理运行。如果要使用这些变量,它们需要与使用它们的语句位于同一批中 简短的回答是
cmonth = @Cmonth
…与:
cmonth = 4
…但是查询中有几个地方引用了这个值,我不想每次测试不同的数据集时都替换它们
那么,我在做这件事的过程中有什么错误或缺失呢?这是
GO
语句。在下一个GO
语句之前,SQL的每个块都作为自己的批处理运行。如果要使用这些变量,它们需要与使用它们的语句位于同一批中
简短的回答是删除
GO
语句。这是GO
语句。在下一个GO
语句之前,SQL的每个块都作为自己的批处理运行。如果要使用这些变量,它们需要与使用它们的语句位于同一批中
简短的回答是删除
GO
语句。尝试在选择语句之前删除GO尝试在选择语句之前删除GOstatement@B.ClayShannon我刚看了你的链接。在那篇文章中没有任何地方显示一个代码片段,它通过声明
来生成一个变量,然后在该行和使用它的位置之间有一个GO
。他们确实有一个代码段,它有两个批处理,除了声明未使用的变量之外什么都不做,但我认为这只是为了显示语法。接下来的代码片段声明@DateFormat INT
并在同一批中使用它们。还有一点:有时您需要运行一个必须有多个批的脚本。假设您想要一个创建过程
,然后是一个使用它6次的脚本,然后您想要删除过程
。进程必须在自己的批处理中创建,因此在此之后需要执行GO
。然后你可以批量使用它,然后你可以批量丢弃它。我在你的链接中没有看到任何需要批次的示例。@B.ClayShannon我只是查看了你的链接。在那篇文章中没有任何地方显示一个代码片段,它通过声明
来生成一个变量,然后在该行和使用它的位置之间有一个GO
。他们确实有一个代码段,它有两个批处理,除了声明未使用的变量之外什么都不做,但我认为这只是为了显示语法。接下来的代码片段声明@DateFormat INT
并在同一批中使用它们。还有一点:有时您需要运行一个必须有多个批的脚本。假设您想要一个创建过程
,然后是一个使用它6次的脚本,然后您想要删除过程
。进程必须在自己的批处理中创建,因此在此之后需要执行GO
。然后你可以批量使用它,然后你可以批量丢弃它。我在你的链接中没有看到任何需要批量的例子。