我在oracle pl sql中包含一些腳本,它包含一些sql命令(創建,插入...),並且當某些命令拋出一個錯誤時,例外。
在我的例外我想顯示命令的實際文本,我想知道是否有一個局部變量存儲最後一個命令的文本,或者如果是一種方式來存儲該文本在我創建的變量。
sql * plus中的一種方法也可以提供幫助。
例如:包含sql命令/語句的實際文本的變量
BEGIN
INSERT INTO suppliers
(supplier_id, supplier_name)
VALUES
(5000, 'Apple');
EXCEPTION
WHEN OTHERS THEN
print the variable that contains tha actual text of the sql command
END;
你爲什麼抓住它,你爲什麼使用PL/SQL塊如果你只是跑了一個腳本中的語句作爲普通的SQL,至少通過? SQL \ * Plus或SQL Developer,它會一起向您顯示語句和錯誤。 –
@ omatan234,我認爲,您唯一的選擇是創建一個新變量並存儲確切的sql。 –
@AlexPoole在SQL * Plus中運行一個腳本,沒有任何例外,捕捉不會給我這個聲明。我需要所有在另一個文件中拋出錯誤的語句。有一種方法可以捕捉異常並使用存儲該語句文本的變量? – omatan234