将 PL/SQL 定义转换为 TSQL
Posted
技术标签:
【中文标题】将 PL/SQL 定义转换为 TSQL【英文标题】:Translate PL/SQL define to TSQL 【发布时间】:2019-05-23 10:52:59 【问题描述】:我的任务是将 PL/SQL 代码转换为 T-SQL。
谁能解释一下SET DEFINE ON
在 sqlplus 中的作用,最重要的是如何将其转换为 T-SQL(我想使用 sqlcmd 作为启动器?)
【问题讨论】:
SET DEFINE
是一个 SQL*Plus 命令,用于设置替换变量的使用和前缀。 &
是默认前缀,SET DEFINE ON
将其重置为此默认值并启用替换变量的使用。所以这不是 PL/SQL 的事情。据我所知,sqlcmd
没有替代变量之类的东西,即没有等价物。但我可能会在那里绞尽脑汁。
【参考方案1】:
SET DEFINE
是一个 SQL*Plus 命令,用于设置替换变量的使用和前缀。 &
是默认前缀,SET DEFINE ON
将其重置为此默认值并启用替换变量的使用。
所以这不是 PL/SQL 的事情,而是 SQL*Plus 的事情。
据我所知,sqlcmd
没有替代变量之类的东西,即sqlcmd
没有等价物,更不用说 T-SQL。但我可能错了。
【讨论】:
【参考方案2】:'&' 似乎是 SQL*Plus(即客户端)用来激活其“变量替换”功能的元语言的标记。因此,包含 '&'(“Marks & Spencer”)标记的字符串文字可能不会完全按预期运行。 SET DEFINE 显然用于控制该激活。
【讨论】:
以上是关于将 PL/SQL 定义转换为 TSQL的主要内容,如果未能解决你的问题,请参考以下文章