我試圖將模式名稱作爲參數傳遞給execute immediate命令。無法在立即執行中傳遞模式名稱
DECLARE
sql_stmt VARCHAR2(200);
BEGIN
sql_stmt := 'DROP INDEX :owner.".MY_INDEX"';
EXECUTE IMMEDIATE sql_stmt using &owner_name ;
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE != -942 THEN
RAISE;
END IF;
END;
上面加註以下Oracle錯誤: ORA-06550:第5行,列38: PLS-00201:標識符 'USER_X' 必須被聲明
我試圖也嘗試連接sql_stmt但沒有成功。我收到與上面完全相同的錯誤:
DECLARE
sql_stmt VARCHAR2(200);
BEGIN
sql_stmt := 'DROP INDEX ' || &owner. || '".MY_INDEX";';
EXECUTE IMMEDIATE sql_stmt ;
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE != -942 THEN
RAISE;
END IF;
END;
任何有關將用戶名作爲變量傳遞給execute語句的建議嗎?