Tenho este script é possível eu fazer a última instução? Se sim como? CREATE SEQUENCE public.Questionario_IdQuestionario;
CREATE TABLE public.Questionario (
IdQuestionario BIGINT NOT NULL DEFAULT nextval('public.Questionario_IdQuestionario'),
nome varchar(500) NOT NULL,
CONSTRAINT pk_questionario PRIMARY KEY (IdQuestionario)
);
CREATE SEQUENCE public.Escrita_IdEscrita;
CREATE TABLE public.Escrita (
IdEscrita BIGINT NOT NULL DEFAULT nextval('public.Escrita_IdEscrita'),
Variacao int NOT NULL,
Limite int not null,
CONSTRAINT pk_escrita PRIMARY KEY (IdEscrita)
);
CREATE SEQUENCE public.Escala_IdEscala;
CREATE TABLE public.Escala (
IdEscala BIGINT NOT NULL DEFAULT nextval('public.Escala_IdEscala'),
Variacao text NOT NULL,
CONSTRAINT pk_escala PRIMARY KEY (IdEscala)
);
CREATE SEQUENCE public.MultiplaEscolha_IdMultiplaEscolha;
CREATE TABLE public.MultiplaEscolha (
IdMultiplaEscolha BIGINT NOT NULL DEFAULT nextval('public.MultiplaEscolha_IdMultiplaEscolha'),
CONSTRAINT pk_multiplaescolha PRIMARY KEY (IdMultiplaEscolha)
);
CREATE SEQUENCE public.Alternativa_IdAlternativa;
CREATE TABLE public.Alternativa (
IdAlternativa BIGINT NOT NULL DEFAULT nextval('public.Alternativa_IdAlternativa'),
Conteudo varchar(255) NOT NULL,
idMultiplaEscolha BIGINT NOT NULL,
CONSTRAINT pk_alternativa PRIMARY KEY (IdAlternativa),
FOREIGN KEY (idMultiplaEscolha)
REFERENCES MultiplaEscolha (IdMultiplaEscolha)
);
CREATE SEQUENCE public.Pergunta_IdPergunta;
CREATE TABLE public.Pergunta (
IdPergunta BIGINT NOT NULL DEFAULT nextval('public.Pergunta_IdPergunta'),
IdConfigResposta BiGINT NOT NULL,
TipoRespota varchar(255) NOT NULL,
Questao text NOT NULL,
CONSTRAINT pk_pergunta PRIMARY KEY (IdPergunta),
FOREIGN KEY (IdConfigResposta)
REFERENCES Escala (IdEscala),
FOREIGN KEY (IdConfigResposta)
REFERENCES Escrita (IdEscrita),
FOREIGN KEY (IdConfigResposta)
REFERENCES MultiplaEscolha (IdMultiplaEscolha)
);
CREATE TABLE public.aluno (
id_aluno BIGINT NOT NULL,
nome varchar(255) Not Null,
CONSTRAINT pk_aluno PRIMARY KEY (id_aluno)
);
CREATE TABLE public.responsavel (
id_responsavel BIGINT NOT NULL,
nome varchar(255) Not Null,
CONSTRAINT pk_responsavel PRIMARY KEY (id_responsavel)
);
CREATE SEQUENCE public.Resposta_IdResposta;
CREATE TABLE public.Resposta (
IdResposta BIGINT NOT NULL DEFAULT nextval('public.Resposta_IdResposta'),
IdPergunta BiGINT NOT NULL,
IdEntrevistado BIGINT NOT NULL,
FlagEntrevistado char(1) NOT NULL,
Resposta text Not Null,
CONSTRAINT pk_resposta PRIMARY KEY (IdResposta),
FOREIGN KEY (IdPergunta)
REFERENCES Pergunta (IdPergunta),
FOREIGN KEY (IdEntrevistado)
REFERENCES Aluno (id_aluno),
FOREIGN KEY (IdEntrevistado)
REFERENCES Responsavel (id_responsavel)
);
CREATE SEQUENCE public.QuestionarioPergunta_IdQuestionarioPergunta;
CREATE TABLE public.QuestionarioPergunta (
IdQuestionarioPergunta BIGINT NOT NULL DEFAULT nextval('public.QuestionarioPergunta_IdQuestionarioPergunta'),
IdPergunta BiGINT NOT NULL,
IdQuestionario BIGINT NOT NULL,
CONSTRAINT pk_questionariopergunta PRIMARY KEY (IdQuestionarioPergunta),
FOREIGN KEY (IdPergunta)
REFERENCES Pergunta (IdPergunta),
FOREIGN KEY (IdQuestionario)
REFERENCES Questionario (IdQuestionario)
);
/*Nome dos Usuários*/
insert into aluno(id_aluno, nome) values (1, 'Michel');
insert into aluno(id_aluno, nome) values (2, 'Adriano');
insert into responsavel(id_responsavel, nome) values (1,'Jean');
insert into responsavel(id_responsavel, nome) values (2,'Claudio');
/*Nome do questionário*/
insert into questionario(nome) values ('Desenvolvimento Web - Aluno');
/*Identificador do conjunto de respostas de múltipla escolha*/
insert into MultiplaEscolha(IdMultiplaEscolha) values (1);
/*Alternativas de um conjunto de respostas*/
insert into Alternativa(Conteudo, idMultiplaEscolha) values ('Programação Web',1);
insert into Alternativa(Conteudo, idMultiplaEscolha) values ('Frameworks',1);
/*Cadastro de pergunta - Aqui deu ruim Como diferenciar qual IdConfigResposta eu estou passando?*/
insert into Pergunta(IdConfigResposta, TipoRespota, Questao) values (1,'Alternativas','Qual a matéria mais relevante?');