¿Como agregar Funciones y Procedimientos Almacenados?

30/11/2008 - 18:17 por Anti_Work | Informe spam
Hola.
Estoy usando sql2005 Express. quiero agregar una funcion que me determine la
cantidad de dias que tiene el mes de una fecha, que se le pasa como parametro.
Lo que estoy haciendo es lo siguiente:
En el Mangement de sqlserver2005 express, elijo la base de datos
boton derecho de mouse y elijo "New Scalar-valued Functions..." y ahi escribo
la función:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE FUNCTION CantDiasMes(@Fecha smalldatetime)
RETURNS int
AS
BEGIN
RETURN dateadd(day,-1,dateadd(month,1,dateadd(day,1 -
datepart(day,Fecha),Fecha)))
END
GO

Hago un parse, para analizar la sintaxis y me informa que esta todo bien.
Pero cuando lo guardo se guarda como un archivo con extensión ".sql" y la
función no aparece. Lo mismo me pasa con los "Procedimientos Almacenados".
Yo ya hice alguna vez unas funcines y recuerdo que ya tube este problemas.
Pero no me acuerdo como los solucioné.
¿A que se debe esto y como se soluciona?

Muchas gracias desde ya.
Saludos

Preguntas similare

Leer las respuestas

#1 Gilbert
30/11/2008 - 19:07 | Informe spam
Es que no tienes que salvala a un archivo, te basta con ejecutar las
instrucciones (en el boton ejecutar arriba). Eso es un script para crearla.
Con eso queda creada en la base de datos. Si luego quieres opcionalmente
salvar el codigo a un archivo, lo salvas como ya sabes, pero eso no es
necesario para crearla en la base de datos..

"Anti_Work" escribió en el
mensaje news:
Hola.
Estoy usando sql2005 Express. quiero agregar una funcion que me determine
la
cantidad de dias que tiene el mes de una fecha, que se le pasa como
parametro.
Lo que estoy haciendo es lo siguiente:
En el Mangement de sqlserver2005 express, elijo la base de datos
boton derecho de mouse y elijo "New Scalar-valued Functions..." y ahi
escribo
la función:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE FUNCTION CantDiasMes(@Fecha smalldatetime)
RETURNS int
AS
BEGIN
RETURN dateadd(day,-1,dateadd(month,1,dateadd(day,1 -
datepart(day,Fecha),Fecha)))
END
GO

Hago un parse, para analizar la sintaxis y me informa que esta todo bien.
Pero cuando lo guardo se guarda como un archivo con extensión ".sql" y la
función no aparece. Lo mismo me pasa con los "Procedimientos Almacenados".
Yo ya hice alguna vez unas funcines y recuerdo que ya tube este problemas.
Pero no me acuerdo como los solucioné.
¿A que se debe esto y como se soluciona?

Muchas gracias desde ya.
Saludos
Respuesta Responder a este mensaje
#2 Alejandro Mesa
30/11/2008 - 19:08 | Informe spam
Anti_Work,

Pero cuando lo guardo



No debes guardarlo, sino ejecutar (execute - F5) el script para que se cree
el objeto. Luego haces right-click sobre [Scalar-valued Funcions] para
refrescar y puedas ver la nueva funcion.


AMB


"Anti_Work" wrote:

Hola.
Estoy usando sql2005 Express. quiero agregar una funcion que me determine la
cantidad de dias que tiene el mes de una fecha, que se le pasa como parametro.
Lo que estoy haciendo es lo siguiente:
En el Mangement de sqlserver2005 express, elijo la base de datos
boton derecho de mouse y elijo "New Scalar-valued Functions..." y ahi escribo
la función:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE FUNCTION CantDiasMes(@Fecha smalldatetime)
RETURNS int
AS
BEGIN
RETURN dateadd(day,-1,dateadd(month,1,dateadd(day,1 -
datepart(day,Fecha),Fecha)))
END
GO

Hago un parse, para analizar la sintaxis y me informa que esta todo bien.
Pero cuando lo guardo se guarda como un archivo con extensión ".sql" y la
función no aparece. Lo mismo me pasa con los "Procedimientos Almacenados".
Yo ya hice alguna vez unas funcines y recuerdo que ya tube este problemas.
Pero no me acuerdo como los solucioné.
¿A que se debe esto y como se soluciona?

Muchas gracias desde ya.
Saludos
Respuesta Responder a este mensaje
#3 Anti_Work
30/11/2008 - 20:07 | Informe spam
Muchas gracias a ambos.

Saludos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida