powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASA 9.0.2 Procedure 'immediate' not found
3 сообщений из 3, страница 1 из 1
ASA 9.0.2 Procedure 'immediate' not found
    #36686661
_Lom_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста, что я делаю не так.

Подсмотрел пример с использованием execute immediate.
Код: plaintext
1.
2.
3.
4.
CREATE PROCEDURE CreateTableProc(
		IN tablename char( 30 ) )
BEGIN
	EXECUTE IMMEDIATE 'CREATE TABLE ' || tablename || '(column1 INT PRIMARY KEY)'
END
Создал процедуру. Выполняю в ISQL, а он мне в ответ
Procedure 'immediate' not found
SQLCODE=-265, ODBC 3 State="4502".

Попробовал сделать так:
Код: plaintext
EXECUTE ('CREATE TABLE ' || tablename || '(column1 INT PRIMARY KEY)')
Заработала.

Но моя цель, получить в результате набор записей из запроса:
Код: plaintext
EXECUTE ('SELECT * FROM ' || tablename')
а он мне в ответ
Result set not permitted in '<batch statement>'
SQLCODE=-946, ODBC 3 State="07005"

Где-то я, однозначно, что-то не так делаю.
...
Рейтинг: 0 / 0
ASA 9.0.2 Procedure 'immediate' not found
    #36686732
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Lom_Подскажите пожалуйста, что я делаю не так.
Перед EXECUTE IMMEDIATE ты использовал синтаксис характерный для диалекта Transact SQL. В то время как сама команда EXECUTE IMMEDIATE принадлежит диалекту WatcomSQL.
Диалекты нельзя смешивать внутри одной хранимой процедры.

Показывай свою процедуру полностью, подскажем какого синтаксиса стоит избегать.

_Lom_Но моя цель, получить в результате набор записей из запроса:
Команда TSQL EXECUTE не умеет возвращать резалтсеты.
Команда WSQL EXECUTE IMMEDIATE может возвращать резалтсет если это явно разрешено:
Код: plaintext
EXECUTE IMMEDIATE WITH RESULT SET ON 'select * from '||sometable
...
Рейтинг: 0 / 0
ASA 9.0.2 Procedure 'immediate' not found
    #36686744
_Lom_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Точно! Всё дело в диалекте. Спасибо.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASA 9.0.2 Procedure 'immediate' not found
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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