#oracle #plsql #oracle-sqldeveloper
#Oracle #plsql #oracle-sqldeveloper
Вопрос:
Ну, у меня есть динамическая переменная
private_table_name VARCHAR2(100) := 'test';
test
это имя таблицы.
Теперь я хочу вставить в таблицу с этим значением.
INSERT INTO private_table_name VALUES (employee_rec.employee_id, concaternate_employee_name(employee_rec.employee_id), employee_rec.salary * 1.10);
Ответ №1:
Это динамический SQL, который вы должны использовать. Например:
SQL> CREATE TABLE test
2 (
3 price NUMBER
4 );
Table created.
SQL> DECLARE
2 private_table_name VARCHAR2 (100) := 'test';
3 BEGIN
4 EXECUTE IMMEDIATE 'insert into '
5 || private_table_name
6 || ' (price) values (50)';
7 END;
8 /
PL/SQL procedure successfully completed.
SQL> SELECT * FROM test;
PRICE
----------
50
SQL>