gpt4 book ai didi

sql-server - 如何在 transact sql 中执行相当于 "#define SomeValue 5"的操作?

转载 作者:行者123 更新时间:2023-12-01 23:50:57 36 4
gpt4 key购买 nike

我必须制作一个长的交易 sql 脚本,我必须在其中使用相同的值很多次,我不想每次都写字面值,而是使用 C 中的预处理器宏。

关键是我将多次运行这个脚本,“SomeValue”有不同的值,我只想在脚本中的一个地方有文字值,在顶部我可以看到它并将它更改为需要,然后再次运行脚本。

最佳答案

虽然不能在 SQL 中定义常量,但可以创建变量:

DECLARE @SomeValue INT = 5

SELECT *
FROM MyTable
WHERE ID = @SomeValue

SELECT *
FROM AnotherTable
WHERE SomeColumn = @SomeValue + 5

不过,您可以在哪些地方使用变量是有限制的。例如,您不能在 DDL 中使用它们声明。如果你这样做,你会得到一个错误:

DECLARE @SomeValue INT = 5
CREATE TABLE TestTable(IntColumn INT DEFAULT(@SomeValue))

会报错:

Variables are not allowed in the CREATE TABLE statement.

关于sql-server - 如何在 transact sql 中执行相当于 "#define SomeValue 5"的操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26544558/

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