Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对象类型的Oracle PLSQL Alter/Drop属性_Oracle_Plsql_User Defined Types - Fatal编程技术网

对象类型的Oracle PLSQL Alter/Drop属性

对象类型的Oracle PLSQL Alter/Drop属性,oracle,plsql,user-defined-types,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 PLSQL新手,必须更改对象类型。我在新列的数据类型上犯了很多错误,所以我不得不删除它们并再次修改它们

例如,我这样做:

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

ALTER TYPE testObjectType DROP ATTRIBUTE Prename

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

现在,在对象的Create或Replace-Code下面有许多关于添加和删除属性的代码行。我必须尝试简单地删除这行,但更改根本不起作用。如何整理对象类型?我使用的是Oracle SQL Developer。

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

alter type testobjecttype reset;
然后,您可以使用以下方法重建它:

create or replace type testobjecttype as object
( prename varchar2(50 char) );
加上它应该具有的任何其他属性等

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