Я думаю, что я мог бы что-то здесь упустить. Вот соответствующая часть триггера:
CURSOR columnNames (inTableName IN VARCHAR2) IS
SELECT COLUMN_NAME FROM USER_TAB_COLUMNS WHERE TABLE_NAME = inTableName;
/* Removed for brevity */
OPEN columnNames('TEMP');
А вот и сообщение об ошибке, которое я получаю,
27/20 PLS-00306: wrong number or types of arguments in call to 'COLUMNNAMES'
27/2 PL/SQL: Statement ignored
Если я правильно понимаю документацию, это должно сработать, но, поскольку это не так, я должен что-то делать не так. Есть идеи?
@ Мэтью - Я благодарен за помощь, но причина, по которой я запутался, заключается в том, что этот фрагмент кода не работает для меня и вызывает ошибки, на которые есть ссылки. У нас есть другие триггеры в базе данных с кодом, почти таким же, как этот, поэтому я не уверен, что я что-то не так сделал или что-то с тем, как я пытаюсь сохранить триггер и т. Д.
@ Мэтью - Ну, теперь я чувствую смущение. Я сделал копию / вставку кода, который вы предоставили в новый триггер, и он работал нормально. Поэтому я вернулся к исходному триггеру, попробовал его и снова получил сообщение об ошибке, за исключением того времени, когда я начал удалять вещи из триггера и после избавления от этой строки,
FOR columnName IN columnNames LOOP
Вещи сохранены в порядке. Вот и получается, что там, где я думал, что ошибка была, на самом деле это была не ошибка.