如果列不存在,请更改表

use*_*441 4 oracle alter-table oracle11g

在表格中,我想检查特定列是否存在.如果列不存在,我想更改表并创建该列.

我正在使用Oracle 11g.

Grz*_*z W 6

试试这个:

declare p_count NUMBER;

select count(1) int p_count
from ALL_TAB_COLUMNS 
where OWNER = '<SCHEMA_NAME>' 
and TABLE_NAME = '<TABLE_NAME>' 
and COLUMN_NAME = '<COLUMN_NAME>';

IF p_count = 0 THEN
    --add your column
END IF;
Run Code Online (Sandbox Code Playgroud)

最终(取决于权利)您可以使用user_tab_columns.

  • pl/sql 语法不正确。没有 BEGIN 就不能使用 DECLARE (3认同)