powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / как exec (@sql) сделать в АSЕ чтоб неисправлять на exec @sql в АСА
10 сообщений из 10, страница 1 из 1
как exec (@sql) сделать в АSЕ чтоб неисправлять на exec @sql в АСА
    #33674344
yourij_mw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!. Это как может и догадались вопрос о совместимости кода.
Есть некая куча процедур в АСЕ. Пока первая проблема на которую наткнулись при переносе етих самих процедр в АСА это как раз с этим ехес. переделать то их можно чтоб они заработали АSА, но тогда они не работают в ASE, а у нас процедуры пока частенько меняются и даже проблема не в том что их перписывать два раза нужно будет, а в том что при синхронизации старой и новой версии моделей баз даных, которую мы также пока ещё часто будем проделывать, мы используем Power Designer (9.5) (сначала процедуры выбираются в него, а затем в другие базы), а в нём то нету места для двоих версий скриптов, поэтому думаю вам мой вопрос будет понятен:
Можно ли написать ехес (@dsql) так чтобы в АСА он был бы понятным? Делаю так:
Код: plaintext
exec ('select...........update...')
ругается...
Код: plaintext
select @DSQL  exec (@DSQL)
..тоже не хочет.
Код: plaintext
select @DSQL = 'select...........update'  exec @DSQL
пропускает...
только exec @sql в АSE воспринимается как вызов процедуры имя которой записано в переменной @sql а не сам код.
...
Рейтинг: 0 / 0
как exec (@sql) сделать в АSЕ чтоб неисправлять на exec @sql в АСА
    #33674434
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. сделать свою процедуру для совместимости и вызывать ее вместо exec(@sql)

Код: plaintext
exec my_sql_exec @sql

поддерживать для двух серверов надо будет только одну процедуру

2. не знаю но: попробовать сделать ф-ю или процедуру exec в ASA?
...
Рейтинг: 0 / 0
как exec (@sql) сделать в АSЕ чтоб неисправлять на exec @sql в АСА
    #33674548
yourij_mw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Про вариант 1 даже сам думал .. но просто думал что может быть и другой способ
...
Рейтинг: 0 / 0
как exec (@sql) сделать в АSЕ чтоб неисправлять на exec @sql в АСА
    #33674632
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЭЭээ... сомневаюсь что у вас получится поддерживать и далее так код для двух СУБД.
...
Рейтинг: 0 / 0
как exec (@sql) сделать в АSЕ чтоб неисправлять на exec @sql в АСА
    #33685516
@@valera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если надо поддерживать код для нескольких субд одновременно, есть проверенное, хотя и тяжеловатое решение - физическая модель в PowerDesigner
...
Рейтинг: 0 / 0
как exec (@sql) сделать в АSЕ чтоб неисправлять на exec @sql в АСА
    #33685766
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как PowerDesignor поддерживает код (процедуры)? По-моему никак он его не поддерживает.
...
Рейтинг: 0 / 0
как exec (@sql) сделать в АSЕ чтоб неисправлять на exec @sql в АСА
    #33686527
@@valera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код процедуры PD действительно не поддержтвает, но для нормальной генерации процедур из модели в несколько сходных диалектов sql достаточно добавить несколько extended attribute в соответствующие DBMS definition-ы. При генерации скриптов, макросы развернутся в нечто пригодное для нужного диалекта.
...
Рейтинг: 0 / 0
как exec (@sql) сделать в АSЕ чтоб неисправлять на exec @sql в АСА
    #33688191
yourij_mw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ктому в всему PоwerDesigner ест пробелы в процедурах непотом не посьом, Незнаю можно ли его научить по людски относится к человеческому труду, и чем это он, как и ASE DataEditor пользуется выбирая код процедур из syscomments, и честно говоря уже и знать больше нехочу, накарябаю процелуру для вставки пробелов в syscommets где пробелом закнчиваэтся предыдущая стока, для Check Constraint он вообще выбирает только одну строчку (первые 255 символов), как и Central впрочем? но тут уж я ничем себе не помогу.
...
Рейтинг: 0 / 0
как exec (@sql) сделать в АSЕ чтоб неисправлять на exec @sql в АСА
    #33688319
yourij_mw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь конечно за грамматические ошибки и расстановку слов в моих текстах....., PD вряд ли делает такое с моей клавиатурой, подозреваю что тут что-то другое...но что не могу понять до конца... :(
...
Рейтинг: 0 / 0
как exec (@sql) сделать в АSЕ чтоб неисправлять на exec @sql в АСА
    #33690540
@@valera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PD 9.5 не самая новая версия, скорей всего в этом дело
В 11.1 я проблем с текстом процедур не наблюдаю, как при генерации, так и rev. engineering. Работаю с ASE/ASA/MSSQL, т.е. одна модель PD - 3 базы
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / как exec (@sql) сделать в АSЕ чтоб неисправлять на exec @sql в АСА
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]