Как передать имя таблицы в качестве параметра хранимого, который запускает оператор обновления этой таблицы в оракулемимолетного имя таблицы в качестве параметра в оракуле хранимой процедуре
1
A
ответ
1
Вам нужно будет использовать динамический SQL для этого что-то подобного. ...
PROCEDURE UPDATE_My_Table
(
pTableName IN USER_TABLES.table_name%type,
Param1 IN NVARCHAR2,
Param2 IN NUMBER,
Param3 IN NVARCHAR2
)
IS
BEGIN
execute immediate
'UPDATE '||pTableName
||' SET Column1 = :1, Column2 = :2'
||' WHERE Column3 = :3'
using Param1 , Param2 , Param3;
END;
0
не позволяют пользователям вводить имена таблицы случайных или вы обнаружите, что они изменяют данные, которые вы не ожидали, - по крайней мере, вы должны белый список, какие таблицы вы ждете их, чтобы пройти в :
PROCEDURE updateTables(
table_name VARCHAR2,
value1 VARCHAR2,
value2 VARHCAR2,
value3 VARCHAR2
)
IS
BEGIN
IF table_name = 'table1' THEN
UPDATE table1
SET col1 = value1
WHERE col2 = value2;
ELSIF table_name = 'table2' THEN
UPDATE table2
SET col1 = value1,
col3 = value2
WHERE col2 = value3;
ELSIF table_name = 'table3' THEN
UPDATE table3
SET col1 = value3,
col2 = value1,
col3 = value2
WHERE col1 = value3;
ELSE
RAISE_APPLICATION_ERROR(-20001, 'Invalid Table Name');
END IF;
END;
/
+0
Что делать, если слишком много таблиц? Разве неудобно писать блок обновлений для каждой таблицы? Есть ли обходной путь? –
Смежные вопросы
- 1. Имя переходящей таблицы в хранимой процедуре sql
- 2. Db Имя в качестве параметра в хранимой процедуре SQL Server
- 3. два входных параметра таблицы в хранимой процедуре
- 4. SQL 2000 Имя таблицы в качестве переменной в хранимой процедуре
- 5. Переменная таблицы в хранимой процедуре
- 6. Решите имя таблицы динамически в хранимой процедуре
- 7. установить имя таблицы результатов в хранимой процедуре
- 8. прохождение таблицы имя в хранимой процедуре
- 9. Имя таблицы в хранимой процедуре как параметр
- 10. Как передать столбец в качестве параметра в хранимой процедуре?
- 11. Таблица Temp в качестве выходного параметра в хранимой процедуре
- 12. Желаемое количество строк результатов в качестве параметра в хранимой процедуре
- 13. Передача XML-файла в качестве входного параметра в хранимой процедуре
- 14. Передача запроса в качестве параметра в хранимой процедуре
- 15. мимолетного имя столбец имени таблицы и значение столбца в оракуле databsase
- 16. Блокировка таблицы в хранимой процедуре
- 17. Обновление таблицы в хранимой процедуре
- 18. TABLE_NAME в качестве параметра в Oracle хранимой процедуры
- 19. SQL Server: Мне нужно передать значение строки в качестве параметра в функцию таблицы в хранимой процедуре
- 20. SQL Server: как получить имя базы данных в качестве параметра в хранимой процедуре
- 21. SQL Server: как использовать имя базы данных в качестве параметра в хранимой процедуре?
- 22. Передача имени поля как параметра в хранимой процедуре MySQL
- 23. Имя таблицы в качестве переменного параметра
- 24. Показывает имя недействительного объекта в хранимой процедуре
- 25. Ошибка при объявлении параметра в хранимой процедуре
- 26. Передача параметра хранимой процедуре в C#
- 27. Использование параметра tristate в хранимой процедуре
- 28. Потребность параметра возврата в хранимой процедуре
- 29. Использование параметра в качестве имени таблицы в хранимой процедуре внутреннего определения SQL
- 30. как передать имя таблицы в качестве параметра в SQL сервере
Спасибо, а что, если я хочу использовать определенные значения вместо передачи значений в качестве параметра? –
в заявлении об обновлении @ M.Ali –
ну, то просто удалите параметры и используйте жестко закодированные значения, логика останется прежней.] –