função(procedure) de inserção
Não estou conseguindo criar a estas duas função de inserção.
Alguem pode ajudar?
CREATE TABLE cargo (
CodCargo serial NOT NULL,
NomeCargo VARCHAR (30)
);
CREATE TABLE partido (
CodPartido serial NOT NULL,
NomePartido VARCHAR (30)
);
CREATE TABLE zonaSecao (
NumZona INTEGER NOT NULL,
NumSecao INTEGER NOT NULL,
NomeSecao VARCHAR (30),
QteEleitores INTEGER
);
CREATE TABLE votacao (
NumZona INTEGER NOT NULL,
NumSecao INTEGER NOT NULL,
NumCandidato INTEGER NOT NULL,
QteVotos INTEGER
);
CREATE TABLE cadidato (
NumCandidato INTEGER NOT NULL,
CodCargo INTEGER NOT NULL,
CodPartido INTEGER NOT NULL,
NomeCandidato VARCHAR (30),
Salario INTEGER
);
ALTER TABLE cargo ADD CONSTRAINT pkCargo PRIMARY KEY (CodCargo);
ALTER TABLE cadidato ADD CONSTRAINT pkCandidato PRIMARY KEY (NumCandidato);
ALTER TABLE partido ADD CONSTRAINT pkPartido PRIMARY KEY (CodPartido);
ALTER TABLE votacao ADD CONSTRAINT pkVotacao PRIMARY KEY (NumCandidato);
ALTER TABLE zonaSecao ADD CONSTRAINT pkSecao PRIMARY KEY (NumZona,NumSecao);
ALTER TABLE votacao ADD CONSTRAINT fkVotacaoZonaSecao FOREIGN KEY (NumZona,NumSecao)
REFERENCES ZonaSecao (NumZona,NumSecao);
ALTER TABLE cadidato ADD CONSTRAINT fkcadidatoPartido FOREIGN KEY (CodPartido)
REFERENCES partido (CodPartido);
ALTER TABLE cadidato ADD CONSTRAINT fkcadidatoCargo FOREIGN KEY (CodCargo)
REFERENCES cargo (CodCargo);
ALTER TABLE votacao ADD CONSTRAINT fkcadidatoVotacao FOREIGN KEY (NumCandidato)
REFERENCES cadidato (NumCandidato);
Create function insercao(text) returns char as
$$
Declare
resultado text;
Begin
resultado := INSERT INTO partido (NomePartido) VALUES (NomePartido);
return resultado;
End;$$
language 'plpgsql';
CREATE FUNCTION Verificacao () RETURNS INT AS RETORNO
BEGIN
RETORNO:= INSERT INTO cargo(NomeCargo) VALUES(NomeCargo);
COMMIT;
EXECEPTION
ROLLBACK
END;
RETURN RETORNO;
END;Discussão (0)
Carregando comentários...