Описание тега execute-immediate

An Oracle statement to execute a dynamic query or anonymous PL/SQL block.
2 ответа

Oracle PL SQL - проблема с EXECUTE IMMEDIATE

DECLARE start_date VARCHAR2(12); end_date VARCHAR2(12); start_epochtime VARCHAR2(15); end_epochtime VARCHAR2(15); v_sql VARCHAR2(1024); BEGIN SELECT to_char(current_date,'YYYY-MM-DD') into start_date from dual; SELECT to_char(current_date - 30,'YYYY…
18 мар '16 в 11:21
4 ответа

ORA-01403: Данные не найдены ПОЧЕМУ?

Я объявил следующую процедуру: CREATE OR REPLACE PROCEDURE MODIFY_NOT_NULL( v_tbName IN VARCHAR2, v_cName IN VARCHAR2, v_defaultValue IN VARCHAR2 ) IS v_is_null VARCHAR2(1); BEGIN SELECT nullable INTO v_is_null FROM USER_TAB_COLUMNS WHERE TABLE_NAME…
2 ответа

Эквивалентен SQLERRM, когда нет ошибок?

Кто-нибудь знает, есть ли эквивалент SQLERRM когда не произошло ошибок? Я знаю, что могу подсчитать затронутые строки, как здесь, но могу ли я автоматически получить сообщение, которое я получу от SQLPLUS например role granted. после execute immedia…
04 окт '17 в 15:08
1 ответ

Подскажите пользователя для ввода в оракул

Как запросить пользователя для ввода в Oracle с помощью SQLTools v1.6? Я попробовал следующий блок PL/SQL: DECLARE type tes_tab is table of test_table%rowtype; test_tab tes_tab; BEGIN execute immediate 'SELECT * FROM test_table WHERE memid=' || &amp…
12 авг '15 в 04:47
0 ответов

ВСТАВИТЬ после ВЫПОЛНИТЬ НЕМЕДЛЕННО в оракуле

Я пытаюсь выполнить инструкцию немедленного выполнения для создания таблицы, и после этого я хочу вставить в нее данные, но она показывает мне ошибку, что моя таблица не существует: DECLARE liczba NUMBER :=5; BEGIN IF liczba > 1 THEN EXECUTE IMME…
09 апр '16 в 07:56
1 ответ

Синтаксис динамического SQL с использованием EXECUTE IMMEDIATE

Оператор динамического обновления SQL, как показано ниже: EXECUTE IMMEDIATE 'UPDATE '||l_prefix||'CRS_CUSTOMERS SET CUSTOMER_SOURCE_REF_ID = '||i.CUSTOMER_REF_ID||' WHERE CUSTOMER_ID = '||i.CUSTOMER_ID; l_prefix параметр содержит префикс имени табли…
2 ответа

PL/SQL - Создать таблицы на основе курсора, используя команду "Выполнить немедленно"?

Я написал следующий код, который выбирает некоторые тестовые данные учащихся и, используя курсор, вставляет их в таблицу. То, что вы хотели бы сделать, это создать одну таблицу для каждого учащегося и вставить относительные данные. Это может быть од…
06 янв '15 в 13:01
2 ответа

Есть ли способ динамического выполнения кода в MySQL, похожий на "немедленное выполнение" в Oracle?

Подобно EXECUTE IMMEDIATE в Oracle, есть ли способ выполнить код динамически в хранимой процедуре MySQL? Я действительно хочу использовать подготовленный оператор в хранимой процедуре MySQL, чтобы генерировать новый оператор SQL в каждой итерации ци…
27 сен '11 в 09:57
1 ответ

Как получить значение переменных за пределами динамического PL-SQL?

Я выполняю следующий запрос: declare i number; begin execute immediate 'select count(1) from someTable' returning into i; dbms_output.put_line(i); end; и получите эту ошибку: возвращаемое предложение должно использоваться со вставкой, обновлением и …
02 июн '14 в 13:25
1 ответ

Выполнить немедленно в хранимой процедуре netezza не вставляя значение в таблицу

Когда я запускаю эту хранимую процедуру Netezza, я получаю сообщение об ошибке атрибут 'SOME_VALUE' не найден Согласно требованию я должен получить значение из одной таблицы (TABLE_A) и вставить в другую таблицу (TABLE_B). Это процедура: create or r…
05 янв '17 в 08:17
1 ответ

Ошибка процедуры Oracle PL/SQL при проверке IF-таблицы EXISTS в схеме

Я использую SQL Developer Tool для создания процедуры, которая проверяет, существует ли таблица с именем TRANSPORT_PRODUCT, если она затем обрезает ее, если она не создает ее. Сценарий 1: когда TRANSPORT_PRODUCT не существует в схеме, и я компилирую…
3 ответа

Как решить ORA-00933: команда SQL неправильно завершена в Oracle?

Вот пакет, созданный путем передачи 3 входных параметров в функцию CREATE OR replace PACKAGE "PKG_CAMPAIGN_EMAIL_QTY" AS FUNCTION Getcampaignoutgoingemailqty( tablename IN VARCHAR2, ActivatedDate IN DATE, CompletedDate IN DATE) RETURN NUMBER; END pk…
03 ноя '15 в 10:52
2 ответа

Insert SQL Command with dynamic Username and rowtypes

I'd like to generate a dynamic Insert statement with different Username and data from a rowtype My snippet create or replace procedure test() is TYPE cv_typ is REF CURSOR; cv cv_typ; stmt varchar(2000); zieldb varchar(20); vKunden "Kunden"%rowtype; …
09 авг '13 в 10:31
3 ответа

Присвойте значение полю rowtype, где `field name` - строка

Я хочу присвоить значение полю типа строки, но я не знаю, как это сделать. Предположим, что у меня есть таблица X внутри моей базы данных. Предположим также, что у меня есть следующие переменные a (X%ROWTYPE), представляющий строку таблицы X b (VARC…
06 фев '14 в 15:39
2 ответа

Немедленное выполнение "Создать или заменить представление" дает 00900. 00000 - ошибка "неверный оператор SQL"

Я застрял с этой ошибкой. Подскажите, пожалуйста, в чем ошибка в коде ниже? Это написано внутри процедуры, которая принимает входные данные для переменных. Благодарю. execute immediate 'Create or replace view '||p_viewname||' AS select * from ( sele…
10 авг '15 в 21:48
2 ответа

Почему я не могу использовать переменную связывания в операторе немедленного выполнения?

Я хотел бы использовать переменные связывания вместо конкатенации строк при создании динамического оператора SQL для execute immediate, В приведенном ниже примере я могу использовать переменные связывания для a, b а также ret, но когда я пытаюсь свя…
02 авг '11 в 05:23
1 ответ

Разница между EXEC_SQL, EXECUTE IMMEDIATE, DBMS_SQL и встроенным SQL

Я изучал PL/SQL (в Oracle SQL Developer) и видел несколько разных форматов SQL, вызываемых. Для согласованности и скорости текущего и будущего кода, я хотел бы знать, какой вариант является предпочтительным. Есть четыре типа, которые я видел. 1) Обы…
2 ответа

Выполнить немедленное изменение последовательности не работает

Я застрял на этом довольно простом сценарии. Это не работает, как я ожидаю. declare st VARCHAR(1024); begin for x in (SELECT sequence_name FROM USER_SEQUENCES) loop st := 'ALTER SEQUENCE ' || x.sequence_name || ' INCREMENT BY 1000'; execute immediat…
24 фев '15 в 16:57
3 ответа

Как выполнить результаты dbms_output.put_line

Существует таблица, содержащая такие данные: select to_char(sysdate,'day') from dual в столбце. Я хочу получить результаты каждого запроса, который хранится в таблице. Мой набор результатов должен быть результатом select to_char(sysdate,'day') from …
2 ответа

EXECUTE IMMEDIATE Temp таблица в оракуле не создается ORA-00942

На основании этого ответа я пытался создать временную таблицу, однако я получаю исключение ORA-00942:table or view does not exist Я бы предположил, что что-то не так с 'CREATE OR REPLACE GLOBAL TEMPORARY TABLE TempQandA(column1 number) ON COMMIT PRE…
06 окт '14 в 08:37