O q está errado ??
a tabela:
//========================================//
//========================================//
CREATE TABLE ´PLAY´
(
´CODIGO´INTEGER NOT NULL,
´LOJA´CHAR(6) NOT NULL,
´NOME´VARCHAR(50) NOT NULL,
CONSTRAINT ´PLAY_PK´ PRIMARY KEY (´CODIGO´, ´LOJA´)
);
//========================================//
//========================================//
a triger:
//========================================//
//========================================//
SET TERM ^;
create trigger ´TESTE´ for ´PLAY´
active before insert position 0
as
declare variable autoinc integer;
declare variable VLOJA VARCHAR;
begin
select max(´codigo´) from ´PLAY´ Where LOJA = VLOJA into autoinc;
if (autoinc is null) then
autoinc = 0;
autoinc = autoinc + 1;
new.´codigo´ = autoinc;
end
^
SET TERM;^
//========================================//
//========================================//
//========================================//
//========================================//
CREATE TABLE ´PLAY´
(
´CODIGO´INTEGER NOT NULL,
´LOJA´CHAR(6) NOT NULL,
´NOME´VARCHAR(50) NOT NULL,
CONSTRAINT ´PLAY_PK´ PRIMARY KEY (´CODIGO´, ´LOJA´)
);
//========================================//
//========================================//
a triger:
//========================================//
//========================================//
SET TERM ^;
create trigger ´TESTE´ for ´PLAY´
active before insert position 0
as
declare variable autoinc integer;
declare variable VLOJA VARCHAR;
begin
select max(´codigo´) from ´PLAY´ Where LOJA = VLOJA into autoinc;
if (autoinc is null) then
autoinc = 0;
autoinc = autoinc + 1;
new.´codigo´ = autoinc;
end
^
SET TERM;^
//========================================//
//========================================//
Wiltefran
Curtidas 0
Respostas
Dorivansousa
01/07/2004
de onde ta vindo o valor da variavel VLOJA?
GOSTEI 0
Afarias
01/07/2004
fica mais fácil se vc disser o erro do que se tivermos q adivinhar, blz?! :?
como vc usa aspas para definir os nomes dos objetos, então esteja atento a sempre informar esses nomes corretamente, por ex::
´CODIGO´ é diferente de ´codigo´
no mais, acho q o código q vc deseja (e q não recomendo) é::
T+
como vc usa aspas para definir os nomes dos objetos, então esteja atento a sempre informar esses nomes corretamente, por ex::
´CODIGO´ é diferente de ´codigo´
no mais, acho q o código q vc deseja (e q não recomendo) é::
select max("CODIGO") from "PLAY"
where "LOJA" = new."LOJA" into :autoinc;
if (autoinc is null) then
autoinc = 0;
autoinc = autoinc + 1;
new."CODIGO" = autoinc;
T+
GOSTEI 0