[問題] 請描述%ROWTYPE跟%TYPE該如何使用
Answer:
%ROWTYPE可以用來宣告一個record跟
(1)資料庫內某個table/view OR (2)從cursor fetch出來 的資料列有相同結構。
宣告語法如下:
變數名稱 表格名稱(OR view名稱 OR cursor名稱)%ROWTYPE;
ex: tmpRow employee%ROWTYPE;
如上就會有一個tmpRow結構跟employee(這個表格)裡的列一樣,包括欄位名稱與資料型別。但並不繼承constraints!!
%TYPE可以用來宣告一個data item跟
(1)已宣告的變數 OR (2)表格裡的某欄位 有相同的資料型別。
宣告語法如下:
變數名稱 表格名稱.欄位名稱%TYPE;
ex: tmpItem employee.salary%TYPE;
以上面的例子,tmpitem是所謂的referencing item,而employee.salary是referenced item。
使用%TYPE一定會繼承資料型別,但不一定會繼承contraints。當referenced item是資料庫表格的欄位時,就不會繼承。
Post a Comment