簡體   English   中英

%type 可以與 Object 類型一起使用嗎? 是否有可能因為我在嘗試這樣做時遇到錯誤

[英]Could %type be used with Object type? Is it possible because I am getting error while trying to do so

我正在嘗試將 %type 與 object 類型一起使用

例如,

方法一:

  CREATE TYPE emp_object AS OBJECT(
    i_Emp_id Employee_table.emp_id%type,
    i_Emp_name  Employee_table.emp_name%type
    i_salary  Employee.salary%type);

但是我無法像方法 1 中那樣創建 object 類型...

我可以使用方法 2 創建 object 類型,但是當我在我的應用程序中使用它時會出現一些功能問題,如下所述。

方法二:

 CREATE TYPE emp_object AS OBJECT( i_Emp_id number, i_Emp_name  varchar2(10), i_Salary Number(13,9));

我使用第二種方法面臨的問題是,每當我更改表中 Salary 列中數據類型的精度時,我都必須更改刪除 object 類型並重新創建它。 此外,我還必須更改 API 和 UI 中的代碼。如果我可以在創建 object 類型時使用 %type,則肯定可以避免這種情況。 但我無法這樣做,因為 Oracle 會拋出錯誤。 有沒有辦法將 %type 應用於 object 類型列。請幫助我......我嘗試了一切,但我一直面臨着這個障礙......

不,Oracle 不支持 object 屬性的 %TYPE - 因為 %TYPE 是 PL/SQL 語法,而不是 SQL。

為什么不直接將 i_salary 聲明為沒有精度和比例的 NUMBER?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM