sobre los procedimientos almacenados en SQLServer2000

mainel_2002
09 de Septiembre del 2003
Yo tengo un procedimiento almacenado en SQLServer2000 pero no funciona pues a la hora de construir la cadena de la sentencia EXEC, da un error.
EL procedimiento es el siguiente:

CREATE PROCEDURE dbo.IP_InsertarCodInvP
(@CDescripcion CHAR(30),
@NombreTabla CHAR(30))

AS
SET @CDescripcion = char(39)+UPPER(@CDescripcion)+char(39)
EXEC('INSERT INTO '+@NombreTabla+' (CDescripcion) VALUES ('+@CDescripcion+')')
GO
Si se le pasa como parametro por ejemplo:
@Nombretabla=IPcFuenteProcedencia
@CDescripcion=Prueba
da el siguiente error:
Comilla no cerrada antes de la cadena de caracteres 'PRUEBA )'.
Necesito que si hay alguien con alguna solución por favor que me responda

jlfceli
09 de Septiembre del 2003
A mi entender el error es el siguiente...
Al colocar esta linea:
SET @CDescripcion = char(39)+UPPER(@CDescripcion)+char(39)
Esto devuelve lo siguiente 'prueba'...
ahora cuando insertar dentro de la seccion value
queda algo asi...(''Prueba'').
El error es que logicamente hay dos comillas...
Suerte...