Crear objetos en otra base del mismo servidor

14/10/2005 - 06:23 por Lean_ | Informe spam
Buenas gente,
necesito hacer un stored procedure que compile objetos de otra base de datos
del mismo servidor.

Probe compilar el objeto con sql dinamico pero no puedo usar un "USE base
Create Proc ". Me aparece el error "CREATRE PROCEDURE must be the first
statement in a query batch."

Este es el codigo con el que estoy probando:

Declare
@FUENTE nvarchar(4000),
@BD_NAME sysname

Declare @sql nvarchar(4000)

Set @FUENTE = 'Create Procedure prueba as Select 1'
Set @BD_NAME = 'model'

Set @sql = 'Use ' + @BD_NAME + ' ' + @FUENTE + ' Go'

Exec (@sql)

Go

obtengo el resultado:
Server: Msg 111, Level 15, State 1, Line 1
'CREATE PROCEDURE' must be the first statement in a query batch.


Un abrazo y gracias.

Preguntas similare

Leer las respuestas

#1 Maxi \(MVP SQL\)
15/10/2005 - 19:41 | Informe spam
Hola, te falta el GO

Set @sql = 'Use ' + @BD_NAME + ' go ' + @FUENTE + ' Go'

Sabes que SQL dinamico no es una buena tecnica no? poque quieres usar
sql-dinamico?

-
MS-MVP SQL SERVER
"Lean_" escribió en el mensaje
news:
Buenas gente,
necesito hacer un stored procedure que compile objetos de otra base de
datos
del mismo servidor.

Probe compilar el objeto con sql dinamico pero no puedo usar un "USE base
Create Proc ". Me aparece el error "CREATRE PROCEDURE must be the
first
statement in a query batch."

Este es el codigo con el que estoy probando:

Declare
@FUENTE nvarchar(4000),
@BD_NAME sysname

Declare @sql nvarchar(4000)

Set @FUENTE = 'Create Procedure prueba as Select 1'
Set @BD_NAME = 'model'

Set @sql = 'Use ' + @BD_NAME + ' ' + @FUENTE + ' Go'

Exec (@sql)

Go

obtengo el resultado:
Server: Msg 111, Level 15, State 1, Line 1
'CREATE PROCEDURE' must be the first statement in a query batch.


Un abrazo y gracias.
Respuesta Responder a este mensaje
#2 Lean_
17/10/2005 - 16:39 | Informe spam
Probé usar el Go entre el use y el create pero obtengo este mensaje de error:

Server: Msg 170, Level 15, State 1, Line 1
Line 1: Incorrect syntax near 'Go'.
Server: Msg 111, Level 15, State 1, Line 1
'CREATE PROCEDURE' must be the first statement in a query batch.

No estoy atado a usar sql-dinamico para esto, pero no encontré otra forma de
resolverlo.

Un abrazo para todos!

"Maxi (MVP SQL)" escribió:

Hola, te falta el GO

Set @sql = 'Use ' + @BD_NAME + ' go ' + @FUENTE + ' Go'

Sabes que SQL dinamico no es una buena tecnica no? poque quieres usar
sql-dinamico?

-
MS-MVP SQL SERVER
"Lean_" escribió en el mensaje
news:
> Buenas gente,
> necesito hacer un stored procedure que compile objetos de otra base de
> datos
> del mismo servidor.
>
> Probe compilar el objeto con sql dinamico pero no puedo usar un "USE base
> Create Proc ". Me aparece el error "CREATRE PROCEDURE must be the
> first
> statement in a query batch."
>
> Este es el codigo con el que estoy probando:
>
> Declare
> @FUENTE nvarchar(4000),
> @BD_NAME sysname
>
> Declare @sql nvarchar(4000)
>
> Set @FUENTE = 'Create Procedure prueba as Select 1'
> Set @BD_NAME = 'model'
>
> Set @sql = 'Use ' + @BD_NAME + ' ' + @FUENTE + ' Go'
>
> Exec (@sql)
>
> Go
>
> obtengo el resultado:
> Server: Msg 111, Level 15, State 1, Line 1
> 'CREATE PROCEDURE' must be the first statement in a query batch.
>
>
> Un abrazo y gracias.



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