我收到以下錯誤:01735. 00000 - 「無效的ALTER TABLE選項」
- 00000 - "missing right parenthesis"
當我執行我的程序:
CREATE OR REPLACE PROCEDURE ALTER_TABLE_COLUMN_NOT_NULL(
var_tabname IN VARCHAR2,
var_clname IN VARCHAR2,
var_defvalue IN VARCHAR2)
IS
l_isnull VARCHAR2(1);
BEGIN
SELECT isnull INTO l_isnull FROM USER_TAB_COLUMNS
WHERE TABLE_NAME = var_tabname AND COLUMN_NAME = var_clname;
IF l_isnull = 'Y' THEN
EXECUTE IMMEDIATE 'ALTER TABLE ' || var_tabname ||
' MODIFY COLUMN (' || var_clname ||
' DEFAULT ' || var_defvalue || ' NOT NULL)';
END IF;
END;
我知道,根據錯誤,正確的括號缺失。我嘗試了許多重寫方法,但我無法解決它。
我執行我的程序如下方式:
BEGIN
ALTER_TABLE_COLUMN_NOT_NULL('FIRSTNAME', 'PRICE', '-');
END;
做'var_tabname',值'var_clname'或'var_defvalue'包含任何東西,他們不應該? – JonK
我編輯我的問題,也許我以錯誤的方式調用過程? – NoName123
當您的代碼嘗試調用名爲MODIFY_COLUMN_NOT_NULL的過程時,爲什麼要向我們展示名爲'ALTER_TABLE_COLUMN_NOT_NULL'的過程? – Andreas