Stored Procedure-firebird
Caros amigos,
Gostaria de criar uma Stored Procedure q faça o seguinte:
1-update
2-um select
3-outro update
4-retorne o select
gostaria de saber se isso eh possivel
o codigo q usei foi esse:
create procedure p_update_x
returns (d2_p char(60))
as
declare variable d1 char(60);
declare variable d2 char(60);
declare variable d3 char(60);
begin
d1 = ´x´;
update tb_saida set c_flag=:d1 where c_flag=´n´;
select c_variavel from tb_saida where c_flag = ´x´
into :d2;
d3 = ´e´;
update tb_saida set c_flag=:d3 where c_flag=´x´;
end;
porém nao funciona .
gostaria que alguem me desse uma mão.
obrigado.
Vinicius Matos
Gostaria de criar uma Stored Procedure q faça o seguinte:
1-update
2-um select
3-outro update
4-retorne o select
gostaria de saber se isso eh possivel
o codigo q usei foi esse:
create procedure p_update_x
returns (d2_p char(60))
as
declare variable d1 char(60);
declare variable d2 char(60);
declare variable d3 char(60);
begin
d1 = ´x´;
update tb_saida set c_flag=:d1 where c_flag=´n´;
select c_variavel from tb_saida where c_flag = ´x´
into :d2;
d3 = ´e´;
update tb_saida set c_flag=:d3 where c_flag=´x´;
end;
porém nao funciona .
gostaria que alguem me desse uma mão.
obrigado.
Vinicius Matos
Vinicius__matos
Curtidas 0
Respostas
Numeros.info
24/05/2006
Se puder ser mais explicioto talvez possa ajuda-lo, por favor relate o seu problema com mais clareza para que eu possa entender melhor.
Descreva o seu real problema inclusive citando o nome das tabelas e campos envolvidos e o que realmente essa procedure precisa fazer.
Se isso for possivel e eu tiver condições de ajudar terei muito prazer em faze-lo.
Atenciosamente,
Tadeu Rodrigues de Oliveira
Números Informática
Descreva o seu real problema inclusive citando o nome das tabelas e campos envolvidos e o que realmente essa procedure precisa fazer.
Se isso for possivel e eu tiver condições de ajudar terei muito prazer em faze-lo.
Atenciosamente,
Tadeu Rodrigues de Oliveira
Números Informática
GOSTEI 0
Vinicius__matos
24/05/2006
ok. vou temtar ser + claro...
tenho uma tabela chamada
tb_saida com o campo c_variavel char e um campo c_flag char(1) (obs só com n de conteudo.)
o q eu quero é uma stored procedure q mude o c_flag para x de um select q peguando todos os c_flag = x e depois mude o x para e.
e como retorno o select.
obrigado pela sua atenção.
vinicius matos.
tenho uma tabela chamada
tb_saida com o campo c_variavel char e um campo c_flag char(1) (obs só com n de conteudo.)
o q eu quero é uma stored procedure q mude o c_flag para x de um select q peguando todos os c_flag = x e depois mude o x para e.
e como retorno o select.
obrigado pela sua atenção.
vinicius matos.
GOSTEI 0
Delphi32
24/05/2006
para retornar os registros consultados dentro de uma stored procedure, usa-se o comando SUSPEND.
utilizando o código que você colocou no primeiro post, acho que ficaria assim:
Antes do SUSPEND você deve indicar que valor o campo D2_P deve receber. Eu não consegui identificar o que ou que campo exatamente você quer retornar pela Stored, mas seria isso aí...
Qualquer dúvida, poste aqui de novo.
t+!
utilizando o código que você colocou no primeiro post, acho que ficaria assim:
CREATE PROCEDURE P_UPDATE_X RETURNS (D2_P CHAR(60)) AS DECLARE VARIABLE D1 CHAR(60); DECLARE VARIABLE D2 CHAR(60); DECLARE VARIABLE D3 CHAR(60); BEGIN D1 = ´x´; UPDATE tb_saida SET c_flag=:D1 WHERE c_flag=´n´; FOR SELECT c_variavel FROM tb_saida WHERE c_flag = ´x´ INTO :D2 DO BEGIN D3 = ´e´; UPDATE tb_saida SET c_flag=:D3 WHERE c_flag=´x´; D2_P = D3; /*???*/ SUSPEND; END END;
Antes do SUSPEND você deve indicar que valor o campo D2_P deve receber. Eu não consegui identificar o que ou que campo exatamente você quer retornar pela Stored, mas seria isso aí...
Qualquer dúvida, poste aqui de novo.
t+!
GOSTEI 0
Gandalf.nho
24/05/2006
[b:74bf29e60f][color=red:74bf29e60f]Bloqueado por Infração às Regras de Conduta :[/color:74bf29e60f][/b:74bf29e60f]
Duplicidade.
[url]http://forum.clubedelphi.net/viewtopic.php?p=256421[/url]
Para maiores esclarecimentos pode mandar-me uma [url=http://forum.clubedelphi.net/privmsg.php?mode=post&u=8378]Mensagem Particular[/url].
Duplicidade.
[url]http://forum.clubedelphi.net/viewtopic.php?p=256421[/url]
Para maiores esclarecimentos pode mandar-me uma [url=http://forum.clubedelphi.net/privmsg.php?mode=post&u=8378]Mensagem Particular[/url].
GOSTEI 0