restrição de quantidades de registros 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
Edon Ramos
27/04/2013
Galera eu fiz isso aqui
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;
só que quando eu estou cadastrando ele não entende que é só o cargoflu ele coloca a tabela inteira....
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;
só que quando eu estou cadastrando ele não entende que é só o cargoflu ele coloca a tabela inteira....
GOSTEI 0
Alvaro Vieira
27/04/2013
Segue a rotina que testei, observe que você se esqueceu de colocar a análise "new". testei aqui e só deixou cadastrar 2 registros de cada cargo.
Abraço.
Abraço.
/******************************************************************************/
/**** Following SET SQL DIALECT is just for the Database Comparer ****/
/******************************************************************************/
SET SQL DIALECT 3;
SET TERM ^ ;
CREATE OR ALTER TRIGGER PREFEITURA_BI0 FOR PREFEITURA
ACTIVE BEFORE INSERT POSITION 0
AS
declare variable ntot integer;
begin
select count(*)
from prefeitura
where cargoflu=new.cargoflu
into :ntot;
if (:ntot = 2) then
exception lim_registros;
end
^
SET TERM ; ^
GOSTEI 0
Edon Ramos
27/04/2013
Sim correto eu tinha conseguido já...
mas ao invés de usar o before se usa o after,pois senão a trigger não volta com o ultimo valor inserido na tabela
;)
mas ao invés de usar o before se usa o after,pois senão a trigger não volta com o ultimo valor inserido na tabela
;)
GOSTEI 0
William
27/04/2013
Finalizando, qualquer dúvida inicie outro tópico por gentileza!!
GOSTEI 0