Alguém sabe como posso fazer isso via sql?

Oracle

27/04/2013

como fazer com que um registro possa ser inserido com determinado nome,determinado numero de vezes

exemplo

a tabela funcionarios so aceita o nome joao ate 25 vezes repetidamente
Edon Ramos

Edon Ramos

Curtidas 0

Respostas

Deivison Melo

Deivison Melo

27/04/2013

Porquê não utiliza uma trigger para fazer o controle desejado, já que via constraint´s não faz esse controle por número de vezes da forma que está desejando.
GOSTEI 0
Edon Ramos

Edon Ramos

27/04/2013

Senão me engano o trigger só da pra limitar a coluna,mas não os valores inseridos nela... :(
GOSTEI 0
Edon Ramos

Edon Ramos

27/04/2013

Caro amigo desculpe mas você estava certo...o código ficou assim...

SET TERM ^ ;


CREATE "lim_dbinscricao" FOR "prefeitura"
ACTIVE BEFORE INSERT POSITION 0
AS
declare variable NTOT integer;
begin

select count(*) from prefeitura where cargoflu='Assessor Diretor Nível VII' into :ntot;

if (:ntot = 2) then
exception lim_registros;

end

^

agora vou precisar dá um jeito de criar um showmessage no delphi para nao fechar a tela mas sim aparecer uma janela de erro
GOSTEI 0
Edon Ramos

Edon Ramos

27/04/2013

Complicado galera

CREATE TRIGGER "LIM_REGISTROS" FOR "PREFEITURA"
ACTIVE BEFORE INSERT POSITION 0
AS
declare variable NTOT integer;
begin
select count(*) from prefeitura where cargoflu='Assessor Diretor Nível VII' into :ntot;
if (:ntot = 2) then
exception lim_registros;

ta aí...,o danado na hora do cadastro entende que é para a tabela inteira e não só para o campo
GOSTEI 0
Felippe Tadeu

Felippe Tadeu

27/04/2013

Desculpe se eu estiver falando besteira mas pq vc criou uma variável ?
Não seria mais fácil já comparar com o valor count(*) ?

E a ideia não seria para toda a tabela ?

Tipo verificar todos os registros ?
GOSTEI 0
POSTAR