0
我有後續的結構爲我的Oracle數據庫11g R2的VARRAY:將數據插入裁判
CREATE TYPE tPessoa AS OBJECT (nome VARCHAR(20), sobrenome VARCHAR(20), idade INTEGER, nacionalidade VARCHAR(20)) NOT FINAL;
CREATE TYPE tTecnico UNDER tPessoa (nTitulos INTEGER);
CREATE TYPE tJogador UNDER tPessoa (posicao VARCHAR(10), numero INTEGER);
CREATE TYPE tListaJogadores IS VARRAY(23) OF REF tJogador;
CREATE TYPE tSelecao AS OBJECT (pais VARCHAR(20), continente VARCHAR(20), tecnico REF tTecnico, jogadores tListaJogadores);
CREATE TABLE jogadores OF tJogador;
CREATE TABLE tecnicos OF tTecnico;
CREATE TABLE selecoes OF tSelecao;
我試圖執行INSERT
表selecoes
,但我不知道我怎麼可以掛載帶有select語句的refListaJogadores列表。這裏就是我想現在:
INSERT INTO selecoes VALUES ('Brasil', 'America do Sul', (SELECT REF(e) FROM tecnicos e WHERE e.nacionalidade = 'Brasil'), ?????)
我需要什麼,我需要把在該解決方案????使我的查詢正常工作。問題只出現在????
上,因爲talbe tecnicos
上的子查詢工作得很好。
我將不勝感激解決方案,可以解決問題使用子查詢和一些功能,創建一個列表REF's
。這裏是工作ONLY一個解決方案,如果是的jogadores
與給定nacionalidade
只是1寄存器:
INSERT INTO selecoes VALUES ('Brasil', 'America do Sul', (SELECT REF(e) FROM tecnicos e WHERE e.nacionalidade = 'Brasil'), tListaJogadores((SELECT REF(j) FROM jogadores j WHERE j.nacionalidade = 'Brasil')));
這正是我一直在尋找的。感謝您的時間;) – BigBlast
很高興有幫助。 – nop77svk