gpt4 book ai didi

sql-server - 在 T-SQL 脚本中使用双引号在 SQLCMD 中会失败,但在 SSMO 中不会

转载 作者:行者123 更新时间:2023-12-02 23:29:23 25 4
gpt4 key购买 nike

通过 sqlcmd 执行以下脚本失败。但是,通过 ssmo 或 SQL Server Management Studio 执行它是可行的。

sqlcmd -S . -d test -i input.sql

输入.sql:

CREATE FUNCTION test()  
RETURNS @t TABLE ("ID" INT)
AS
BEGIN
RETURN
END

即使我将 SQL Server Management Studio 置于 sqlcmd 模式,它仍然失败。当我们使用 SSMS 测试脚本但使用 SQLCMD 部署时,这是一个问题。因此,当我们尝试部署时,我们只会发现我们的代码不起作用。

为什么 sqlcmd 会这样?有什么办法可以关掉它吗?

最佳答案

如果您确实需要在脚本中使用双引号来分隔标识符,则需要在SQLCMD上设置quoted_identifier选项通过使用 -Ienable 开关。它在 SQLCMD 中默认为 OFF,但在 SSMS 中默认为 ON,这就是您的测试在 SSMS 中工作的原因。

了解有关 QUOTED_IDENTIFIER here 的更多信息.

关于sql-server - 在 T-SQL 脚本中使用双引号在 SQLCMD 中会失败,但在 SSMO 中不会,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4054048/

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