2016-07-30 10 views
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; 
+0

このinsert文をお試しください:values句で変数 'childen'が、' children'を宣言。また、列名が 'children_name'で、' childen_name'に挿入しました – Husqvik

+0

リテラルでも名前付き変数でもない 'values(...)'節に何かがある場合、ORA-00984: 。この場合は、コードに入力ミスがあるためです。プログラミングはすべて詳細についてです。コンパイラはスペルや文法について非常に難解なので、私たちが入力したと考えるものではなく、*実際に*入力したものを読むことを学ぶ必要があります。 – APC

+0

ありがとう私はそれを得た@ husqvik –

答えて

1

タイプミスをご覧

insert into family values ('Assurty', parents,childen); 
関連する問題