Fórum Criar Procedure #57311
24/11/2006
0
Bom dia
Estou com um problema que acho que é simples, mas não estou conseguindo.
Estou aprendendo a usar mais codigo no banco, gostaria que vejam o q eu fiz de errado.
CREATE PROCEDURE UPDATE_EMP_PROD
AS
begin
update empresas_produtos_servicos set codigo_empresa = :empresa, codigo_prod_serv = :prod_serv, quant_mes = :quantidade, ano_referencia = :ano
where codigo_empresa = :cod_empresa and codigo_prod_serv = :cod_prod_serv and ano_referencia = :ano;
suspend;
end
///Descrição do erro
Column does not belong to referenced table.
Dynamic SQL Error.
SQL error code = -206.
Column unknown.
EMPRESA.
At line 4, column 59.
Estou com um problema que acho que é simples, mas não estou conseguindo.
Estou aprendendo a usar mais codigo no banco, gostaria que vejam o q eu fiz de errado.
CREATE PROCEDURE UPDATE_EMP_PROD
AS
begin
update empresas_produtos_servicos set codigo_empresa = :empresa, codigo_prod_serv = :prod_serv, quant_mes = :quantidade, ano_referencia = :ano
where codigo_empresa = :cod_empresa and codigo_prod_serv = :cod_prod_serv and ano_referencia = :ano;
suspend;
end
///Descrição do erro
Column does not belong to referenced table.
Dynamic SQL Error.
SQL error code = -206.
Column unknown.
EMPRESA.
At line 4, column 59.
Nussbaum
Curtir tópico
+ 0
Responder
Posts
27/11/2006
Emerson Nascimento
CREATE PROCEDURE UPDATE_EMP_PROD AS begin update empresas_produtos_servicos set codigo_empresa = :empresa, codigo_prod_serv = :prod_serv, quant_mes = :quantidade, ano_referencia = :ano where codigo_empresa = :cod_empresa and codigo_prod_serv = :cod_prod_serv and ano_referencia = :ano; suspend; end ///Descrição do erro Column does not belong to referenced table. Dynamic SQL Error. SQL error code = -206. Column unknown. EMPRESA. At line 4, column 59.
de onde virá o valor do parâmetro :empresa? acho que é aí que o mecanismo do banco está encontrando problemas.
sua SP deveria ser mais ou menos assim:
CREATE PROCEDURE UPDATE_EMP_PROD ( empresa integer, prod_serv integer, quantidade integer, ano integer, cod_empresa integer, cod_prod_serv integer) as begin update empresas_produtos_servicos set codigo_empresa = :empresa, codigo_prod_serv = :prod_serv, quant_mes = :quantidade, ano_referencia = :ano where codigo_empresa = :cod_empresa and codigo_prod_serv = :cod_prod_serv and ano_referencia = :ano; end
para usá-a, a sintaxe é:
execute procedure UPDATE_EMP_PROD(novaempresa, novoprodserv, novaquantidade, ano, empresaatual, prodservatual)[/code]
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)