FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Crear funciones almacenadas en SQL SERVER
Buenas.
Tengo que dar soporte a una aplicación comercial que usa SQL Server y me seria muy util poder incorporar algunas funciones adicionales. me explico: Tengo un campo CHAR(70) que almacena varios valores separados por ";": (esto resultado de una adaptación especial solicitada al productor del software) algo así: Cita:
En Firebird puedo definir funciones en dll y aplicarselas a la BDD (aun no he escrito ninguna pero si he incorporado las adicionales desde UDF). Necesito crear/Incorporar las funciones al SQL SERVER: (pueden ser externas (via dll u otra) ó internas (¿funciones almacenadas SQL?) o cualquier otra forma
La intención es poder ejecutar un QUERY desde SQL con la sintaxis:
Uso SQL SERVER 2005 Gracias
__________________
Sitrico |
#2
|
||||
|
||||
__________________
Última edición por ContraVeneno fecha: 01-10-2008 a las 18:08:19. |
#3
|
||||
|
||||
Gracias por responder tan pronto. Ahora con el código que muestras puedo separar la cadena (aunque voy a probar usarlo con el campo aux02). ahora bien,¿ como pongo ese código dentro de una función ? ¿ Existen las funciones en SQL Server ?
__________________
Sitrico |
#4
|
||||
|
||||
si, tienes que crear un "Stored Procedure" o Procedimiento almacenado
En teoría, a este procedimiento le mandas como parámetro la cadena que quieres revisar y te regresa los datos ya separados, los cuales puedes usar en delphi, en otro procedimiento o donde quieras... para crear el procedimiento, podrías hacer lo siguiente:
__________________
Última edición por ContraVeneno fecha: 01-10-2008 a las 19:22:23. |
#5
|
||||
|
||||
duplicado.....
__________________
Sitrico Última edición por sitrico fecha: 01-10-2008 a las 20:06:39. Razón: Duplicado |
#6
|
||||
|
||||
Ok, ya +- tengo la idea, revisando por aqui veo que tambien se pueden crear funciones almacenadas.
Que con una sintaxsis similar a la que muestras se puede definir una función. ¿ Las funciones almacenadas pueden devolver usarse dentro de un select ?
creando una función así:
Claro que lo lógico sería definir 5 funciones, una global para obtener los 4 campos separados y luego, 4 funciones separadas, que llaman a la global y devuelven sólo el campo en cuestión. Disculpa la lata pero no me atrevo a tocar la BDD hasta estar bien claro.
__________________
Sitrico Última edición por sitrico fecha: 01-10-2008 a las 20:08:14. |
#7
|
||||
|
||||
En lugar de hacer 5 funciones, puedes hacer una sola que reciba dos parámetros, el primero sería la cadena a revisar y el segundo parámetro sería un número u opción de dato a regresar.
Luego solo utilizas un "Case when @opcion = 1 then @Piezas when @Opcion = 2 then @Largo..." etc.
__________________
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Como puedo crear funciones? | THACKER | Varios | 2 | 27-09-2008 20:51:22 |
Como Crear Base De Datos Con Sql Server | flor | MySQL | 1 | 09-02-2008 20:42:59 |
Error al crear usuarios en Win2003 Server | Onti | Redes | 2 | 27-07-2007 15:17:10 |
Crear tabla en una BD en Server A desde consulta en tabla B en server B | joaquinalberto | MySQL | 1 | 18-05-2007 10:39:27 |
Indices que dependan de funciones almacenadas | mercedesrc | Oracle | 3 | 01-10-2003 12:24:29 |
|