como criar SP
como por exemplo eu crio uma SP para insercao
vale
vale
Smaug_84
Curtidas 0
Respostas
Afarias
25/09/2003
crie um SP com parâmetros de entrada e com um INSERT no corpo.
ex::
set term ^;
create procedure nome_procedure (icodigo integer, inome varchar(20))
as begin
insert into nome_tabela (codigo, nome) values (:icodigo, :inome);
end^
dê uma lida no help SQL Reference do IB e nos seus manuais para aprender mais sobre a sintaxe de SPs.
T+
ex::
set term ^;
create procedure nome_procedure (icodigo integer, inome varchar(20))
as begin
insert into nome_tabela (codigo, nome) values (:icodigo, :inome);
end^
dê uma lida no help SQL Reference do IB e nos seus manuais para aprender mais sobre a sintaxe de SPs.
T+
GOSTEI 0
Smaug_84
25/09/2003
e para fazer uma pesquisa no banco,
como faco para retornar todos os valores, e como faco para recebelos no delphi, pode ser com db express?
como faco para retornar todos os valores, e como faco para recebelos no delphi, pode ser com db express?
GOSTEI 0
Afarias
25/09/2003
|e para fazer uma pesquisa no banco, como faco para retornar todos os
|valores,
faça um SP com parâmetros de retorno e use SUSPEND quando quiser enviar os valores de volta, ex::
set term ^;
create procedure nome_procedure returns (rcodigo integer, rnome varhar(20))
as begin
for select codigo, nome from nome_tabela
into :rcodigo, :rnome do
suspend;
end^
| e como faco para recebelos no delphi, pode ser com db express?
use um select normalmente, ex::
select * from nome_procedure;
pode ser com qualquer componente Query -- dbExpress ou qualquer outro.
T+
|valores,
faça um SP com parâmetros de retorno e use SUSPEND quando quiser enviar os valores de volta, ex::
set term ^;
create procedure nome_procedure returns (rcodigo integer, rnome varhar(20))
as begin
for select codigo, nome from nome_tabela
into :rcodigo, :rnome do
suspend;
end^
| e como faco para recebelos no delphi, pode ser com db express?
use um select normalmente, ex::
select * from nome_procedure;
pode ser com qualquer componente Query -- dbExpress ou qualquer outro.
T+
GOSTEI 0
Smaug_84
25/09/2003
entao praque serve aquele componente stored procedure
GOSTEI 0
Afarias
25/09/2003
existem 2 tipos de procedimentos no IB :: os ´SELECIONÁVEIS´ (q retornam um *conjunto* de registros com uso de SUSPEND) -- e os ´EXECUTÁVEIS´ que podem ou não ter valores de retorno, mas quando tem, são apenas uma instância (1 ´registro´) -- estes não usam o SUSPEND.
O IBStoredProc é para este segundo tipo :: os EXECUTÁVEIS!!
T+
O IBStoredProc é para este segundo tipo :: os EXECUTÁVEIS!!
T+
GOSTEI 0
Smaug_84
25/09/2003
e como eu execulto um componente stored procedure,
tenho que ter um pra cada SP no banco?
e a ultima
vc sabe pq isso da pau
set term ^;
create procedure update_mov_detail (icodigo integer, icod_mov integer, icod_prod integer, iqtde integer, ival_un float)
as begin
update mov_detail set codigo = :icodigo, cod_mov = :icod_mov, cod_prod = :icod_prod, qtde = :iqtde, val_un = :ival_un);
end^
valeu vc esta me ajudando pra caramba
tenho que ter um pra cada SP no banco?
e a ultima
vc sabe pq isso da pau
set term ^;
create procedure update_mov_detail (icodigo integer, icod_mov integer, icod_prod integer, iqtde integer, ival_un float)
as begin
update mov_detail set codigo = :icodigo, cod_mov = :icod_mov, cod_prod = :icod_prod, qtde = :iqtde, val_un = :ival_un);
end^
valeu vc esta me ajudando pra caramba
GOSTEI 0
Afarias
25/09/2003
|e como eu execulto um componente stored procedure,
depois de configurar as propriedades, etilize o método ExecProc
|tenho que ter um pra cada SP no banco?
NÃO -- mas em geral é mais prático.
|e a ultima -- vc sabe pq isso da pau
Não, se vc não disser qual é o erro q está havendo.
E como observação, como parace ser iniciante, -- em geral, pode não haver muita vantagem em usar SPs para INSERTS e UPDATES ... a não ser q vc saiba exatamente ´onde está pisando´.
T+
depois de configurar as propriedades, etilize o método ExecProc
|tenho que ter um pra cada SP no banco?
NÃO -- mas em geral é mais prático.
|e a ultima -- vc sabe pq isso da pau
Não, se vc não disser qual é o erro q está havendo.
E como observação, como parace ser iniciante, -- em geral, pode não haver muita vantagem em usar SPs para INSERTS e UPDATES ... a não ser q vc saiba exatamente ´onde está pisando´.
T+
GOSTEI 0
Smaug_84
25/09/2003
cmo faço para passar um array dinamico como parametro?
GOSTEI 0
Afarias
25/09/2003
|cmo faço para passar um array dinamico como parametro?
*não* faz! no IB não existem arrays dinâmicos e os arrays do IB são extremamente limitados e *não* devem ser empregados!
T+
*não* faz! no IB não existem arrays dinâmicos e os arrays do IB são extremamente limitados e *não* devem ser empregados!
T+
GOSTEI 0