0
我讀了一本關於oracle pl/SQL的書。在書中有一節介紹如何使用集合,它有一些代碼來引入varray。而且我像我的蟾蜍一樣在書中鍵入它,但是當我編譯它時,在第16行中它告訴我「列不允許在這裏」。所以我不確定發生了什麼事,請誰能幫助我?oracle pl/sql collection varray
create type first_name_t is varray (2) of varchar2(100);
create type child_name_t is varray (1) of varchar2(100);
create table family
(
surname varchar2(1000),
parent_names first_name_t,
children_name child_name_t
);
declare
childen child_name_t := child_name_t();
parents first_name_t := first_name_t();
begin
parents.extend (2);
parents (1) := 'abc';
parents (2) := 'elssads';
childen.extend ;
childen(1) := 'fea';
insert into family(surname, parent_names, childen_name)
values ('Assurty', parents, children);
end;
觀看錯別字:申報值條款變量'childen'但'children';同時列名是'children_name',並且你插入'childen_name' – Husqvik
當'values(...)'子句中的某個部分既不是字面也不是命名變量時,ORACLE拋出'ORA-00984:column not allowed here' 。在這種情況下,這是因爲你的代碼中存在拼寫錯誤。編程是關於細節的。編譯器對拼寫和語法非常煩瑣,所以我們必須學會閱讀我們實際輸入的內容*,而不是我們輸入的內容。 – APC
謝謝,我明白了@ husqvik –