Alguém sabe como posso fazer isso via sql?
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
exemplo
a tabela funcionarios so aceita o nome joao ate 25 vezes repetidamente
Edon Ramos
Curtidas 0
Respostas
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
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
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
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
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
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
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 ?
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