Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Подскажите, почему не работает динамический SQL
|
|||
|---|---|---|---|
|
#18+
ПБ 9.0 АСА 9.0 PREPARE SQLSA FROM "SELECT max(number) FROM ?" USING my_trans; DESCRIBE SQLSA INTO SQLDA; DECLARE max_value DYNAMIC CURSOR FOR SQLSA; SetDynamicParm(SQLDA, 1,"table_one") OPEN DYNAMIC max_value USING DESCRIPTOR SQLDA; FETCH max_value USING DESCRIPTOR SQLDA; MESSAGEBox('',string(SQLDA.GetDynamicNumber(1))) CLOSE max_value; Выдает -1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2005, 19:29 |
|
||
|
Подскажите, почему не работает динамический SQL
|
|||
|---|---|---|---|
|
#18+
то что вы пытаетесь пропихнуть в PREPARE не является SQL выражением. (A string containing a valid SQL SELECT statement.) ну если надо разные таблицы подставлять - формируйте sql-statement для prepare уже с нужной таблицей. и вообще Вам в данном случае format 4 не нужен. вполне обошлись бы и третьим. А для чего вообще все эти .... ухищрения мягко говоря? может по другому как-нибудь проблема решается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2005, 21:52 |
|
||
|
Подскажите, почему не работает динамический SQL
|
|||
|---|---|---|---|
|
#18+
Объсню смысл задачи! У меня несколько таблиц, в которых по пожеланию юзверя необходимо проапдейтить некоторые поля.(что делается крайне редко) Так как таблиц не мало, и интерфейс изменения полей для всех одинаков я в ПБ зделал окно в которое в качестве параметров передаю имя таблицы и имя изменяемого столбца.....................................................! Дальше вроде понятно......., пытаюсь применить динамический SQL для совершения Update...............! Наверное будет более благоразумней написать ХП! Но решил попробовать данныйм способом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2005, 10:40 |
|
||
|
Подскажите, почему не работает динамический SQL
|
|||
|---|---|---|---|
|
#18+
ls_Table = "table_one" ls_Sql = "SELECT max(number) FROM " + ls_Table ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2005, 11:12 |
|
||
|
Подскажите, почему не работает динамический SQL
|
|||
|---|---|---|---|
|
#18+
[quote Вопросник]Дальше вроде понятно.......[/quote]ну-ну... понятно, да? для выполнения Update достаточно сделать вот так: Код: plaintext 1. 2. PB Help: "Use this format to execute a SQL statement that does not produce a result set and does not require input parameters." format 3 используется если требуется обработка resultset. "Use this format to execute a SQL statement that produces a result set in which the input parameters and result set columns are known at compile time." т.е. для select. Зачем для Update курсор? Откуда там resultset? format 4 ( то что было фактически в исходном постинге ) вообще редко используется, поскольку нужен он для обработки resultset заранее неизвестной структуры. "Use this format to execute a SQL statement that produces a result set in which the number of input parameters, or the number of result-set columns, or both, are unknown at compile time." Все цитаты - из хелпа по билдеру. так что хелп надо читать вдумчиво. И выбирать самый простой вариант, а не самый сложный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2005, 16:13 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=32872793&tid=1338601]: |
0ms |
get settings: |
14ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 156ms |

| 0 / 0 |
