GARANTIR DESCONTO

Fórum como criar SP #38953

25/09/2003

0

como por exemplo eu crio uma SP para insercao





vale


Smaug_84

Smaug_84

Responder

Posts

25/09/2003

Afarias

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+


Responder

Gostei + 0

25/09/2003

Smaug_84

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?


Responder

Gostei + 0

25/09/2003

Afarias

|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+


Responder

Gostei + 0

25/09/2003

Smaug_84

entao praque serve aquele componente stored procedure


Responder

Gostei + 0

25/09/2003

Afarias

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+


Responder

Gostei + 0

25/09/2003

Smaug_84

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


Responder

Gostei + 0

25/09/2003

Afarias

|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+


Responder

Gostei + 0

25/09/2003

Smaug_84

cmo faço para passar um array dinamico como parametro?


Responder

Gostei + 0

25/09/2003

Afarias

|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+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar