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
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


0