Fórum trigger nao funciona #59984
14/07/2008
0
ola, boa tarde..estou com um problema com esta trigger
as
begin
/* GERA NOVO CODIGO*/
if (new.bc_codigo is null) then OK
new.bc_codigo = gen_id(gen_t_bancos_id,1);
/* INSERE DATA DO CADASTRO*/
if (new.bc_data_cadastro is null) then OK
new.bc_data_cadastro = current_timestamp;
O problema comeca aqui, eu nao cosigo fazer o campo new.bc_loja receber o resultado q esta nessa viu q no caso e minha loja padrao como faco para isso ocorrer sera q usei erra tinha q usar uma SP mas se for como poderia pegar o resultado da SP??? obrigado pela ajuda t++
/* LOCALIZA DA FILIAL*/
if (new.bc_loja is null) then
begin
/* Select from vw_loja_padrao;*/
new.bc_loja = select loja_padrao from vw_loja_padrao;
end
as
begin
/* GERA NOVO CODIGO*/
if (new.bc_codigo is null) then OK
new.bc_codigo = gen_id(gen_t_bancos_id,1);
/* INSERE DATA DO CADASTRO*/
if (new.bc_data_cadastro is null) then OK
new.bc_data_cadastro = current_timestamp;
O problema comeca aqui, eu nao cosigo fazer o campo new.bc_loja receber o resultado q esta nessa viu q no caso e minha loja padrao como faco para isso ocorrer sera q usei erra tinha q usar uma SP mas se for como poderia pegar o resultado da SP??? obrigado pela ajuda t++
/* LOCALIZA DA FILIAL*/
if (new.bc_loja is null) then
begin
/* Select from vw_loja_padrao;*/
new.bc_loja = select loja_padrao from vw_loja_padrao;
end
Eltontlms
Curtir tópico
+ 0
Responder
Posts
15/07/2008
Emerson Nascimento
tente jogar o resultado numa variável antes de aplicar ao campo. assim:
as declare variable lojaPadrao integer; begin /* GERA NOVO CODIGO*/ if (new.bc_codigo is null) then new.bc_codigo = gen_id(gen_t_bancos_id,1); /* INSERE DATA DO CADASTRO*/ if (new.bc_data_cadastro is null) then new.bc_data_cadastro = current_timestamp; O problema comeca aqui, eu nao cosigo fazer o campo new.bc_loja receber o resultado q esta nessa viu q no caso e minha loja padrao como faco para isso ocorrer sera q usei erra tinha q usar uma SP mas se for como poderia pegar o resultado da SP??? obrigado pela ajuda t++ /* LOCALIZA DA FILIAL*/ if (new.bc_loja is null) then begin /* note que para esse código funcionar corretamente é */ /* necessário garantir que a instrução retorne apena 1 registro */ select loja_padrao from vw_loja_padrao into :lojaPadrao; new.bc_loja = :lojaPadrao; end
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)