Saltar al contenido

‘CREATE FUNCTION’ debe ser la primera declaración en un lote de consulta. Código de marco de entidad primero

Esta inquietud se puede resolver de diversas maneras, por lo tanto te enseñamos la solución más completa para nosotros.

Solución:

Puedes evitar el

debe ser la primera declaración en un archivo por lotes

error sin agregar sentencias GO poniendo el sql dentro de un comando EXEC:

Sql(EXEC('BEGIN CREATE FUNCTION etc'))

Referencia:

https://stackoverflow.com/a/20352867/150342

Tienes que generar tu código y ejecutarlo como sql dinámico.

DECLARE @Sql NVARCHAR(MAX)
SET @Sql = 
'
IF OBJECT_ID(''fn_Test'') IS NOT NULL DROP FUNCTION fn_Test
GO

CREATE FUNCTION fn_Test(@a INT)
RETURNS INT
BEGIN
    RETURN @a
END
'
IF 1 = 1
BEGIN
    EXEC(@Sql)
END

Te mostramos las comentarios y valoraciones de los lectores

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *