为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: DM Database Server 64 V8
【操作系统】:Microsoft Windows 11 专业版
【CPU】: Intel64 Family 6 Model 140 Stepping 1 GenuineIntel ~2419 Mhz
【问题描述】*:
需求:查看一个表是否存在某个字段,如果不存在则新增这个字段。
SQL:
DECLARE EXISTFLAG INT := 0;
BEGIN
SELECT COUNT(1) INTO EXISTFLAG FROM DBA_TAB_COLUMNS WHERE TABLE_NAME = 'PES_PERSON_REPORT' AND COLUMN_NAME = 'PHONE_NUMBER';
IF EXISTFLAG = 0 THEN
ALTER TABLE PES_PERSON_REPORT ADD PHONE_NUMBER VARCHAR(30);
END IF;
END;
问题:上面的SQL执行报错
报错信息:
-2007: 第 5 行, 第 8 列[ALTER]附近出现错误:
语法分析出错
plsql中不能直接执行ddl,需要使用 execute immediate 'ddl_sql';