Перевести определение PL / SQL в TSQL - PullRequest
0 голосов
/ 23 мая 2019

Мне дано задание перевести код PL / SQL в T-SQL.

Кто-нибудь может объяснить, что SET DEFINE ON делает в sqlplus, и наиболее нетерпеливо, как перевести его на T-SQL (я полагаю, используяsqlcmd как лаунчер?)

Ответы [ 2 ]

3 голосов
/ 23 мая 2019

SET DEFINE - команда SQL * Plus, устанавливающая использование и префикс для переменных подстановки.& является префиксом по умолчанию, а SET DEFINE ON сбрасывает его до этого значения по умолчанию и включает использование переменных подстановки.

Так что это не PL / SQL, а SQL * Plus.

Насколько я знаю, не существует такой вещи, как переменные подстановки для sqlcmd, то есть нет эквивалента для sqlcmd, не говоря уже о T-SQL.Но я могу ошибаться.

0 голосов
/ 23 мая 2019

'&', по-видимому, является маркером метаязыка, используемого SQL * Plus (то есть клиентом) для активации функции «подстановки переменных». Поэтому строковые литералы, содержащие токены '&' ("Marks & Spencer"), могут вести себя не совсем так, как ожидается. SET DEFINE, очевидно, служит для управления этой активацией.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...