PLSQL脚本不改变表?

PLSQL脚本不改变表?,sql,database,oracle,plsql,Sql,Database,Oracle,Plsql,我正在编写一个简单的脚本来更改数据库字段的类型。下面是我正在使用的sql ALTER TABLE crew_has_new_gps MODIFY USER_ID varchar2(9 char) 我的sql脚本如下所示: DECLARE v_odb_or_hdb VARCHAR2(3) := 'ODB'; BEGIN EXECUTE IMMEDIATE 'ALTER TABLE table_name MODIFY USER_ID varchar2(9 char)'; EN

我正在编写一个简单的脚本来更改数据库字段的类型。下面是我正在使用的sql

ALTER TABLE crew_has_new_gps MODIFY USER_ID varchar2(9 char)
我的sql脚本如下所示:

 DECLARE
    v_odb_or_hdb  VARCHAR2(3) := 'ODB';
 BEGIN

   EXECUTE IMMEDIATE 'ALTER TABLE table_name MODIFY USER_ID varchar2(9 char)';
END;

我显然已经删除了所有不需要的代码。这里可能有什么问题?

在第一个区块中,您的表名为crew\u has\u new\u gps

在第二个块中,表名为“table\u name”


现在,我不知道这是否是故意的。但是我可以告诉您,使用正确的表名,您的脚本确实有效。

到底是什么问题?你的问题陈述不清楚。有错误吗?什么都没发生?发生了意想不到的事情?脚本一直运行到最后,但我看不到表中的更改。您到底希望发生什么更改?在您尝试运行PL/SQL脚本之前,表/列的初始状态是什么?最初,用户ID有8个字符,我希望看到9个字符。很明显,您删除了太多“不需要的代码”,以至于删除了导致问题的任何代码。因此,您需要发布一个实际复制错误的测试用例。你还应该描述发生了什么,包括你看到的任何错误消息。我能够解决这个问题…代码的逻辑有一些问题)谢谢你,是的,这是故意的