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

Preguntas similare

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
Respuesta Responder a este mensaje
#2 Carlos M. Calvelo
22/07/2008 - 13:14 | Informe spam
Hola,

On 22 jul, 07:36, 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




Hombre... posibles son muchas cosas. También es posible no hacer
nada de todo eso y usar las restricciones primary key y unique, que
para eso están.

Saludos,
Carlos
Respuesta Responder a este mensaje
#3 Gustavo Larriera (MVP)
22/07/2008 - 15:50 | Informe spam
Seré curioso: Para qué quiere usted hacer eso?


Gustavo Larriera, Microsoft MVP
http://www.linkedin.com/in/gustavolarriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"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
Respuesta Responder a este mensaje
#4 MalKaViAN_NeT
25/07/2008 - 06:40 | Informe spam
Perfecto también pense en esta posibilidad,, programo en .NET y al poner por
ejemplo un primary key me devolverá un error diciendome que estoy duplicando
las claves, puedo controlar el error con un TRY pero al hacerlo demoraría
para entrar al CATCH(ex as sqlexception) y poder mandar allí el mensaje que
este ya existe.
http://www.tecnolust.com
a por las buenas ideas


Hombre... posibles son muchas cosas. También es posible no hacer
nada de todo eso y usar las restricciones primary key y unique, que
para eso están.

Saludos,
Carlos

Respuesta Responder a este mensaje
#5 MalKaViAN_NeT
25/07/2008 - 06:41 | Informe spam
Para saber por ejemplo si un producto esta registrado y no volverlo a
registrar.
http://www.tecnolust.com
a por las buenas ideas


"Gustavo Larriera (MVP)" wrote:

Seré curioso: Para qué quiere usted hacer eso?


Gustavo Larriera, Microsoft MVP
http://www.linkedin.com/in/gustavolarriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"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
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida