SQL Server - Crear un Store Procedure dinamicamente con Exec() o EXEC SP_EXECUTESQL

 
Vista:

Crear un Store Procedure dinamicamente con Exec() o EXEC SP_EXECUTESQL

Publicado por PiratadelProfit (6 intervenciones) el 03/01/2019 08:05:30
En el siguiente codigo trato de crear un SP dinamicamente ya q toda la base de datos con sus tablas se crea d forma dinamica, problema con los SP es q SQL me muestra este error y no se como corregirlo

Mens 111, Nivel 15, Estado 1, Procedimiento SP_proximo_numero, Línea 26
'CREATE/ALTER PROCEDURE' debe ser la primera instrucción en un lote de consultas.

Gracias x su ayuda x adelantado


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
declare @crear_sp nvarchar(max),@nombreBD varchar(30)
set @nombreBD='ImpulsorWEB'
 
EXEC (N'USE ['+@nombreBD+ '];
	GO
   IF OBJECT_ID (''SP_proximo_numero'') is not null
          drop procedure SP_proximo_numero
	--go
    CREATE PROCEDURE SP_proximo_numero(
		@pdocu varchar(20),
        @pupdate bit,
        @next_number int output
		)        
        with encryption
        as
        begin
            SET QUOTED_IDENTIFIER OFF
            declare @numero varchar(28),@COMANDO VARCHAR(MAX)
            set @COMANDO=N''declare numero cursor for select ''+@pdocu+'' from dbo.empresas''
            print @COMANDO
            execute (@COMANDO)
            open numero fetch NUMERO into @next_number
            close numero deallocate NUMERO
            set @next_number=@next_number+1
            if @pupdate=1
                begin
                    set @numero = convert(varchar,@next_number)
                    SET @COMANDO=N''update dbo.empresas set ''+LTRIM(RTRIM(@pdocu ))+''=''+@numero
                    EXEC (@COMANDO)
                end
        end
');
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder