MSSQL - есть ли такая конструкция | |
---|---|
S-type Автор Сообщений: 2969 Дата регистрации: 24.04.2004 |
Понадобилось немножко в MS SQL-е покопаться. На Oracl-е делал так:
Можно это "в лоб" (как можно ближе, что бы один в один) перевести на MS SQL? Исправлено 1 раз(а). Последнее : S-type, 05.07.16 12:45 |
Re: MSSQL - есть ли такая конструкция | |
---|---|
S-type Автор Сообщений: 2969 Дата регистрации: 24.04.2004 |
У меня получилось
Т.е. пришлось создать дополнительную переменную и явно описать курсор. Но, IMHO, как то всё коряво. Можно упростить? Пожалуйста, покритикуйте этот код - как его улучшить? Исправлено 2 раз(а). Последнее : S-type, 05.07.16 12:41 |
Re: MSSQL - есть ли такая конструкция | |
---|---|
PaulWist Сообщений: 14601 Дата регистрации: 01.04.2004 |
Что в итоге должно получиться? перечень столбцов в таблице?
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) Исправлено 2 раз(а). Последнее : PaulWist, 05.07.16 13:15 |
Re: MSSQL - есть ли такая конструкция | |
---|---|
S-type Автор Сообщений: 2969 Дата регистрации: 24.04.2004 |
Запрос не важен. Колонки не при чём.
В Oracle есть конструкция вида
Есть ли такая конструкция в MS SQL? Что бы без явного создания курсора? Исправлено 2 раз(а). Последнее : S-type, 05.07.16 13:23 |
Re: MSSQL - есть ли такая конструкция | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Пока нету На самом деле в оракле это по сути синтаксический сахар - что неявный курсор и неявная record-переменная, что сам цикл FOR по курсору. Меньше буковок в исходнике, но по сути тот же самый результат. Естественно при "ручном" рулении курсором доступно гораздо больше всяких "фишек", но они нужны сравнительно нечасто, вот и придумали упрощающую жизнь разработчика конструкцию... ------------------ WBR, Igor |
Re: MSSQL - есть ли такая конструкция | |
---|---|
pasha_usue Сообщений: 3647 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Мне когда навскидку надо было, я не нашёл. Сделал примерно так же.
|
Re: MSSQL - есть ли такая конструкция | |
---|---|
S-type Автор Сообщений: 2969 Дата регистрации: 24.04.2004 |
А что то типа SYS_REFCURSOR в MS SQL есть?
|
Re: MSSQL - есть ли такая конструкция | |
---|---|
S-type Автор Сообщений: 2969 Дата регистрации: 24.04.2004 |
А Execute Immediate есть? Например, в Oracle есть такой код
|
Re: MSSQL - есть ли такая конструкция | |
---|---|
PaulWist Сообщений: 14601 Дата регистрации: 01.04.2004 |
На выбор:
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: MSSQL - есть ли такая конструкция | |
---|---|
S-type Автор Сообщений: 2969 Дата регистрации: 24.04.2004 |
А входной и выходной параметры?
Тут параметров нет - сразу в топку.
На сколько понял, параметры возможны, осталось понять "как". |
Re: MSSQL - есть ли такая конструкция | |
---|---|
pasha_usue Сообщений: 3647 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Ключевое слово: OUTPUT
https://msdn.microsoft.com |
Re: MSSQL - есть ли такая конструкция | |
---|---|
PaulWist Сообщений: 14601 Дата регистрации: 01.04.2004 |
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) Исправлено 1 раз(а). Последнее : PaulWist, 05.07.16 14:58 |
Re: MSSQL - есть ли такая конструкция | |
---|---|
S-type Автор Сообщений: 2969 Дата регистрации: 24.04.2004 |
Спасибо!
В итоге получилось:
Зверский какой то синтаксис... |
Re: MSSQL - есть ли такая конструкция | |
---|---|
PaulWist Сообщений: 14601 Дата регистрации: 01.04.2004 |
Ты бы на пальцах объяснил, что надо в итоге получить, тогда решение может было бы проще. ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: MSSQL - есть ли такая конструкция | |
---|---|
S-type Автор Сообщений: 2969 Дата регистрации: 24.04.2004 |
В Oracl-е
В MS SQL-е
Что бы сделать то же - букв больше, "конструкций" больше и, соответственно, возможностей ошибиться то же больше... а результат выполнения программы тот же. |
Re: MSSQL - есть ли такая конструкция | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Зверский не синтаксис, а задача - динамический SQL вообще достаточно нечасто нужен А задачи из разряда "пойди туда - не знаю куда, принести то не знаю что" так и вовсе редчайшие исключения. Вообще такой фигни кроме как для целей кодогенерации/отладки/поиска косяков в БД я никогда и не использовал
------------------ WBR, Igor |
Re: MSSQL - есть ли такая конструкция | |
---|---|
S-type Автор Сообщений: 2969 Дата регистрации: 24.04.2004 |
Задача - изучаю новый софт. AuditModern. Вендор на вопросы отмалчивается, приходится рыскать по базе, искать - что где в каком месте лежит. Соответствующие скрипты для Oracl-а есть, но тут база на MS SQL. Вот, колюсь, мучаюсь и изобретаю велосипед...
|
Re: MSSQL - есть ли такая конструкция | |
---|---|
ssa Сообщений: 12999 Откуда: Москва Дата регистрации: 23.03.2005 |
Писание чего-то жутко универсального в декларативных языках, к коим относится и T-SQL как один из диалектов SQL, очень неблагодарное и часто вредное дело.
------------------ Лень - это неосознанная мудрость. |
Re: MSSQL - есть ли такая конструкция | |
---|---|
S-type Автор Сообщений: 2969 Дата регистрации: 24.04.2004 |
Честно говоря, не понял - к чему была эта фраза? Есть интерфейс программы, в котором видны данные. Есть база, в которой лежат данные. Небольшой скрипт перебирает все таблицы базы (коих 679), просматривает все текстовые поля (коих 1145), перебирает все записи (считать лень) и меньше чем за секунду находит, что подразделения находятся в таблице tbl_OrganChart (кто бы мог подумать). Глазками делать это было бы долго. А так - и задача решена, и пару скриптов скриптов в "загашник" закинул. |
Re: MSSQL - есть ли такая конструкция | |
---|---|
ssa Сообщений: 12999 Откуда: Москва Дата регистрации: 23.03.2005 |
Для получения списка всех текстовых полей всех таблиц совершенно не нужны курсоры, перебирания таблиц и прочая ерундистика.
Конкатенацию строк для получения текста запроса лучше делают клиенты. На сервере такой вот универсальный код получения количества строк с каким-то значением поля менее эффективен. Все вместе выливается в напрасную трату времени и средств. ------------------ Лень - это неосознанная мудрость. |
© 2000-2024 Fox Club  |