SQL Server 2000 problemita con proc almacenado

Hola a todos! Tengo unos problemitas que ojala puedan ayudarme, paso a describirlos
necesito un proc almacenado que verifique si una clave primaria se encuentra almacenada de ser así que devuelva un 1 de lo contrario un 0. Pero para ser más específicos me gustaría que ese procedimiento sirva para verificar varias tablas y con distintos campos a controlar, pasando mediante parámetros el nombre de la tabla, el campo a verificar y el valor a buscar. Yo había pensando algo así...
creater procedure ValidarDuplicado
@tabla varchar(50), @campo varchar(50), @clave int
as
declare @TablayCampo as varchar(50)
set @ca=rtrim(@tabla)+'.'+rtrim(@campo)
if (select count(@campo) from @tabla where @ca = @clave) > 1
         return 1
else
        return 0
claro esta que no funciona jajaja. Por favor si alguien sabe si esto es posible o alguna idea de como hacerlo, me de una mano. Desde ya muchas gracias por su tiempo
Nota: tengo restricciones de Clave primaria única
Respuesta
1
Para hacer este tipo de consultas dinámicas necesitas declarar también una variable (tipo string o cadena) donde iras construyendo la consulta y después tendrás que ejecutar esta variable con EXEC().
Ejemplo:
DECLARE @QUERY NVARCHAR(500)
SET @QUERY = 'SELECT COUNT(' + @COLUMNA + ') FROM ' + @TABLA + ' WHERE ' + @FILTRO + '=' + @ID
EXEC (@QUERY)
Nota:todas tus variables deben ser de tipo string(char, nvarchar, etc..) para que puedan ser concatenadas en la consulta.
Muchísimas Gracias!, funciono perfectamente tu sugerencia. Te agradezco la velocidad y precisión de tu respuesta.
Es la primera vez que utilizo este foro y quede más que satisfecho. Nuevamente muchas gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas