Se puede o no se puede hacer esto.

22/07/2008 - 07:36 por MalKaViAN_NeT | Informe spam
tengo una funcion que uso siempre y me sirve para saber si el producto,
persona, usuario, etc. que se esta insertando existe ya en la base de datos
para asi no volverlo a registrar.

se trata de un store procedure por tabla(producto, cliente,etc.) que me dice
si ese nuevo registro ya esta ingresado.

me puse a pensar y Dije,, 'puedo ahorrar store procedures si pudiera
programas algo como esto':

create procedure funcionExiste @tabla (no se que tipo de dato seria), @campo
(-), @valor (-) as

declare @existe bit
declare @cantidad tinyint
select @cantidad = count(@campo) from @tabla where @campo =@valor

if @cantidad>0
set @existe=1
else
set @existe=0

SELECT @existe

GO

solo quiero saber si es posible ...si lo es! me pueden simplemente orientar
luego yo consigo hacerlo,

TODOS LOS COMENTARIOS SON ACEPTADOS

Saludos

http://www.tecnolust.com
a por las buenas ideas
 

Leer las respuestas

#1 Ricardo Junquera
22/07/2008 - 10:26 | Informe spam
Hola
Podrási hacerloo con SQL dinámico algo parecido a lo que tienes pero tendrás
que construir las consultas en "varchar" y ejecutarlas.
Algo así:

create procedure funcionExiste @tabla varchar(xx), @campo
varchar(xx), @valor (-) as

declare @existe bit
declare @cantidad tinyint


declare @Consulta varchar(256)
Set @Consulta='select ' + @cantidad + ' = count(' + @campo + ') from + '
+ @tabla + ' where ' + @campo + ' = + ' @valor
Exec (@Consulta)


if @cantidad>0
set @existe=1
else
set @existe=0

SELECT @existe

GO






Ricardo Junquera
Consultor Business Intelligence

BG&S Online Consultores
Ganadora del Premio Microsoft Business Awards 2008.
Partner de Soluciones : Satisfacción de Cliente.



"MalKaViAN_NeT" wrote:

tengo una funcion que uso siempre y me sirve para saber si el producto,
persona, usuario, etc. que se esta insertando existe ya en la base de datos
para asi no volverlo a registrar.

se trata de un store procedure por tabla(producto, cliente,etc.) que me dice
si ese nuevo registro ya esta ingresado.

me puse a pensar y Dije,, 'puedo ahorrar store procedures si pudiera
programas algo como esto':

create procedure funcionExiste @tabla (no se que tipo de dato seria), @campo
(-), @valor (-) as

declare @existe bit
declare @cantidad tinyint
select @cantidad = count(@campo) from @tabla where @campo =@valor

if @cantidad>0
set @existe=1
else
set @existe=0

SELECT @existe

GO

solo quiero saber si es posible ...si lo es! me pueden simplemente orientar
luego yo consigo hacerlo,

TODOS LOS COMENTARIOS SON ACEPTADOS

Saludos

http://www.tecnolust.com
a por las buenas ideas

Preguntas similares