Função é possível criar a nível de sistema?
Bom Dia, existe uma coisa que não consegui burlar, agora, como não sei se é possível, gostaria de perguntar aos demais, pois isso já me encheu...
É possível criar uma "função" que se torne a nível de "sistema", e sua chamada não dependa mais do Schema?
A Exemplo, segue abaixo:
CREATE FUNCTION TRIM(@texto VARCHAR(1000))
RETURNS VARCHAR(1000)
BEGIN
RETURN(LTRIM(RTRIM(@texto)))
END
O que não quero, é utilizar a minha função com o padrão "DBO" ou qualquer outro para ser chamada..
Funciona......: SELECT DBO.TRIM(' <Não quero desta maneira> ') FROM Dual;
O que quero.: SELECT TRIM(' Agora é como eu gostaria que fosse ') FROM Dual;
Alguém já conseguiu tal proeza?
É possível criar uma "função" que se torne a nível de "sistema", e sua chamada não dependa mais do Schema?
A Exemplo, segue abaixo:
CREATE FUNCTION TRIM(@texto VARCHAR(1000))
RETURNS VARCHAR(1000)
BEGIN
RETURN(LTRIM(RTRIM(@texto)))
END
O que não quero, é utilizar a minha função com o padrão "DBO" ou qualquer outro para ser chamada..
Funciona......: SELECT DBO.TRIM(' <Não quero desta maneira> ') FROM Dual;
O que quero.: SELECT TRIM(' Agora é como eu gostaria que fosse ') FROM Dual;
Alguém já conseguiu tal proeza?
Jair N.
Curtidas 0
Respostas
Fabiano Carvalho
06/10/2014
Isso não é possível fazer.
Em alguns livros que já li, diz que o schema é obrigatório.
Mas qual a necessidade de querer usar assim?
Em alguns livros que já li, diz que o schema é obrigatório.
Mas qual a necessidade de querer usar assim?
GOSTEI 0
Jair N.
06/10/2014
Bem, obrigado pelo seu atendimento, quanto a minha necessidade é o seguinte:
Eu utilizo vários bancos de dados Oracle, BD2, PostgreSQL, SQLServer etc. Bem, a princípio o objetivo seria o mais lógico possível, "ter as mesmas funções utilizadas em um banco, assim como também processadas em outros". Nem que para isso eu tenha que criá-las na munheca!
Lembrando que quando se usa um comando, este processo entra em cascata em views, funções etc.
Ai, me deparo apenas no SQLServer onde eu me faz a obrigatório no uso do "Schema". Já li alguns artigos sobre o uso de UID , UDF tentando burlar iniciando sua função com o prefixo " fn_" mas, isso foge ao que eu gostaria!
Capiti?
Eu utilizo vários bancos de dados Oracle, BD2, PostgreSQL, SQLServer etc. Bem, a princípio o objetivo seria o mais lógico possível, "ter as mesmas funções utilizadas em um banco, assim como também processadas em outros". Nem que para isso eu tenha que criá-las na munheca!
Lembrando que quando se usa um comando, este processo entra em cascata em views, funções etc.
Ai, me deparo apenas no SQLServer onde eu me faz a obrigatório no uso do "Schema". Já li alguns artigos sobre o uso de UID , UDF tentando burlar iniciando sua função com o prefixo " fn_" mas, isso foge ao que eu gostaria!
Capiti?
GOSTEI 0
Fabiano Carvalho
06/10/2014
E se voce criar uma tabela/lista que contem o SGBD e a função? Também foge da sua necessidade?
Nesse caso voce consultaria essa base para saber qual a consulta que iria executar.
Nesse caso voce consultaria essa base para saber qual a consulta que iria executar.
GOSTEI 0
Jair N.
06/10/2014
Não desse jeito fica inviável...Já desisti uma vêz acho que vou desistir novamente... até encontrar uma forma melhor, valeu obrigado..
GOSTEI 0