GARANTIR DESCONTO

Fórum Como criar função de linha? #58752

29/08/2007

0

Galera, preciso criar uma função de linha no FireBird e não sei como faço.

Exemplo: Select Soma(1,2) From RDB$DATABASE

Em ORACLE é muito fácil fazer. Mas e em FireBird? Como faço?

Só UDF? Se eu criar uma UDF eu terei que distribuir esta DLL para cada cliente?


Jáder Medeiros

Jáder Medeiros

Responder

Posts

30/08/2007

Gandalf.nho

Como assim? O que exatamente essa função faz?


Responder

Gostei + 0

30/08/2007

Jáder Medeiros

Ela soma (ela soma 2 números e retorna o resultado).

Obrigado pela atenção!


Responder

Gostei + 0

30/08/2007

Sremulador

Select sum(1+2) From RDB$DATABASE 


com parametros

Select sum(:n1+:n2) From RDB$DATABASE 



Responder

Gostei + 0

30/08/2007

Jáder Medeiros

SrEmulador, não é isso que preciso. Preciso de criar uma função de linha.

Dei apenas um exemplo simples de uma função de soma.

Quero ter a possibilidade de chamar minha função dentro de um sentença SQL a qualquer momento. Sacou? Tipo a função SubString.


Responder

Gostei + 0

30/08/2007

Gandalf.nho

Ah, agora entendi o que você quis dizer com função de linha. Sim, para chamar uma função customizada de dentro de um comando SQL só com UDF mesmo e não é necessário distribuir a todos os clientes, pq a DLL fica somente no server.


Responder

Gostei + 0

30/08/2007

Jáder Medeiros

Que ´meleca´!!! A ném!!! Quando falei clientes, quis dizer empresas (servidores).

Ow Gandalf.nho, tem certeza que não tem outro jeito? Que coisa chata! Vou ter que mudar de banco de dados então só por este GRAVE defeito.


Responder

Gostei + 0

31/08/2007

Gandalf.nho

Você pode criar funções no próprio banco tb (procedures), mas elas não são chamadas como uma função interna ou UDF, daí não sei se serve para o seu caso.

E quanto às UDFs, pq é tão grave assim usá-las?


Responder

Gostei + 0

31/08/2007

Jáder Medeiros

Acho péssima a idéia de ter que controlar além da versão do executável, a versão das UDFs dos clientes (empresas).
Se fosse uma função embutida diretamente no arquivo de banco de dados, seria MUITO mais simples realizar uma manutenção da função.


Responder

Gostei + 0

31/08/2007

Gandalf.nho

Bem, dentro do banco só com procedures mesmo, mas elas são chamadas de maneira diferente de uma função interna/UDF. Dependendo para o que você precisa, elas irão servir perfeitamente.


Responder

Gostei + 0

31/08/2007

Admin290

[quote:5760d6b9c2=´Jáder´]Galera, preciso criar uma função de linha no FireBird e não sei como faço.

Exemplo: Select Soma(1,2) From RDB$DATABASE

Em ORACLE é muito fácil fazer. Mas e em FireBird? Como faço?
[/quote:5760d6b9c2]
Amigo, comecei a pouco a mexer com o oracle, vc poderia dar um exemplo de como fazer uma função de linha, ja que dei uma rapida procurada no google e nao achei material a respeito disso.


Responder

Gostei + 0

03/09/2007

Jáder Medeiros

Amigo, é muito simples. Vou dar um clássico exemplo da função soma:
Create Or Replace Function Soma(num1 In Int, num2 In Int) Return Int Is
Begin
Return(num1+num2);
End;



Responder

Gostei + 0

03/09/2007

Admin290

muito facil mesmo, acho que foi isso que nao achei nada no google.

So uma duvida me restou, posso usar todos os comando do pl sql ??
estruturas if then else, for etc.... ???
Se vc souber um endereço na internet para me passar para eu poder pesquisar para encerrar este topico aqui, agradeceria.


Responder

Gostei + 0

03/09/2007

Jáder Medeiros

Taí: [url]http://www.oracle.com/technology/documentation/database.html[/url]


Responder

Gostei + 0

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

Aceitar