Oracle PLSQL对象类型的更改/删除属性

时间:2017-07-15 12:54:57

标签: oracle plsql user-defined-types

我是Oracle PLSQL的新手,必须更改对象类型。我在新列的数据类型上犯了很多错误,所以我不得不放弃它们并再次修改它们。

例如,我这样做了:

ALTER TYPE testObjectType ADD ATTRIBUTE (Prename VARCHAR2(50))

ALTER TYPE testObjectType DROP ATTRIBUTE Prename

ALTER TYPE testObjectType ADD ATTRIBUTE (Prename VARCHAR2(50 CHAR))

现在低于“创建或替换” - 对象代码,有很多行代码可以添加&删除属性。我试图简单地删除这些行,但这些更改根本不起作用。我怎样才能整理我的对象类型? (我正在使用Oracle SQL Developer)。

1 个答案:

答案 0 :(得分:1)

您需要重置它,以便它不再被视为进化类型:

alter type testobjecttype reset;

然后你可以用:

重建它
create or replace type testobjecttype as object
( prename varchar2(50 char) );

(加上它应该具有的任何其他属性)。

顺便说一下,在CamelCase中命名数据库对象没什么意义,因为数据库会忽略它,而模式浏览器只会以大写形式列出它(因为这就是字典存储名称的方式),如果没有单词分隔符,这很难读取。 (并且它不应该是TestObjectType吗?)在命名程序变量时有一个更好的例子,尽管它们也不区分大小写,所以用小写代码编写它可能是最简单和最干净的。