PARA MAXI- UNO DE PROCEDIMIENTOS

11/05/2005 - 18:57 por Henrys | Informe spam
De lo que leido en otros post y en el cual tambien me han ayudado a no seguir
utilizando SQL DINAMICO, comenze a poner todo en procedimientos almanenados,
pero me han tocado solamente con 2 procedimiento en lo cual no ha funcionado
esta técnica (UTIZANDO ISNULL(@campo1,campo)) que podra ser? o alguna idea?,
ya lo he intentado con
OR pero ni asi, se me repiten los resultados (NOTA: SOLO ESTE PROBLEMA HA
SIDO CON 2 PROCEDIMIENTOS)

Este es uno de ellos.

CREATE PROCEDURE pBuscarCIES9
(
@CVE_PROCEDIMIENTO varchar(6)=NULL,
@PROCEDIMIENTO varchar(100)=NULL,
@CVE_CLASIFICACION int=NULL
)
AS
set nocount on

SELECT
CAT_PROCEDIMIENTOS.*, CAT_CLASIFICACION_CIE.CLASIFICACION
FROM CAT_PROCEDIMIENTOS INNER JOIN CAT_CLASIFICACION_CIE
ON
CAT_PROCEDIMIENTOS.CVE_CLASIFICACIONÊT_CLASIFICACION_CIE.CVE_CLASIFICACION
WHERE CVE_PROCEDIMIENTO=ISNULL(@CVE_PROCEDIMIENTO,CVE_PROCEDIMIENTO)
AND PROCEDIMIENTO=ISNULL(@PROCEDIMIENTO,PROCEDIMIENTO)
AND
CAT_PROCEDIMIENTOS.CVE_CLASIFICACION=ISNULL(@CVE_CLASIFICACION,CAT_PROCEDIMIENTOS.CVE_CLASIFICACION)
GO

SALUDOS Y ESPERANDO RESPUESTAS DE ANTEMANO..

Preguntas similare

Leer las respuestas

#6 Pablo Rodríguez Riveros
11/05/2005 - 23:15 | Informe spam
Si tienes la siguiente tabla:

tblUsuarios
ID Nombres Direccion Pais
1 Pablo MiCalle #3454 Chile
2 Agustin Calle de la Flor #4553 Mexico
3 Maria <null> Uruguay

Entonces, las consultas posibles a esta tabla serían:

1.- Usuarios con direccion:

SELECT *
FROM tblUsuarios
WHERE Direccion is not null

2.- Usuarios sin direccion

SELECT *
FROM tblUsuarios
WHERE Direccion is null

3.- Todos los usuarios, y si no tienen direccion en ese campo poner "<sin
direccion>"

SELECT ID, ISNULL(Direccion,"<sin direccion>") as direccion, Pais
FROM tblUsuarios

Espero te sirva!!!

"Henrys" escribió en el mensaje
news:
HOLA PABLO GRACIAS POR TU INTERES
ME PODRIAS DAR UN EJEMPLO MAS ESPECIFICO
DE LO QUE ME DICES " <campo> IS [NOT] NULL"

SALUDOS DESDE TABASCO, MEXICO..

"Pablo Rodríguez Riveros" escribió:

Estás ocupando de mala manera el ISNULL, ya que si bien esta sentencia
recibe 2 parametros, su objetivo es "reemplazar NULL con el valor de
reemplazo especificado", no sirve para utilizarla dentro de un where.

Para eso pregunta por <campo> IS [NOT] NULL

"Henrys" escribió en el mensaje
news:
> De lo que leido en otros post y en el cual tambien me han ayudado a no
> seguir
> utilizando SQL DINAMICO, comenze a poner todo en procedimientos
> almanenados,
> pero me han tocado solamente con 2 procedimiento en lo cual no ha
> funcionado
> esta técnica (UTIZANDO ISNULL(@campo1,campo)) que podra ser? o alguna
> idea?,
> ya lo he intentado con
> OR pero ni asi, se me repiten los resultados (NOTA: SOLO ESTE PROBLEMA
> HA
> SIDO CON 2 PROCEDIMIENTOS)
>
> Este es uno de ellos.
>
> CREATE PROCEDURE pBuscarCIES9
> (
> @CVE_PROCEDIMIENTO varchar(6)=NULL,
> @PROCEDIMIENTO varchar(100)=NULL,
> @CVE_CLASIFICACION int=NULL
> )
> AS
> set nocount on
>
> SELECT
> CAT_PROCEDIMIENTOS.*, CAT_CLASIFICACION_CIE.CLASIFICACION
> FROM CAT_PROCEDIMIENTOS INNER JOIN CAT_CLASIFICACION_CIE
> ON
> CAT_PROCEDIMIENTOS.CVE_CLASIFICACIONÊT_CLASIFICACION_CIE.CVE_CLASIFICACION
> WHERE CVE_PROCEDIMIENTO=ISNULL(@CVE_PROCEDIMIENTO,CVE_PROCEDIMIENTO)
> AND PROCEDIMIENTO=ISNULL(@PROCEDIMIENTO,PROCEDIMIENTO)
> AND
> CAT_PROCEDIMIENTOS.CVE_CLASIFICACION=ISNULL(@CVE_CLASIFICACION,CAT_PROCEDIMIENTOS.CVE_CLASIFICACION)
> GO
>
> SALUDOS Y ESPERANDO RESPUESTAS DE ANTEMANO..



Respuesta Responder a este mensaje
#7 Henrys
13/05/2005 - 20:16 | Informe spam
GRACIAS PABLO...

"Pablo Rodríguez Riveros" escribió:

Estás ocupando de mala manera el ISNULL, ya que si bien esta sentencia
recibe 2 parametros, su objetivo es "reemplazar NULL con el valor de
reemplazo especificado", no sirve para utilizarla dentro de un where.

Para eso pregunta por <campo> IS [NOT] NULL

"Henrys" escribió en el mensaje
news:
> De lo que leido en otros post y en el cual tambien me han ayudado a no
> seguir
> utilizando SQL DINAMICO, comenze a poner todo en procedimientos
> almanenados,
> pero me han tocado solamente con 2 procedimiento en lo cual no ha
> funcionado
> esta técnica (UTIZANDO ISNULL(@campo1,campo)) que podra ser? o alguna
> idea?,
> ya lo he intentado con
> OR pero ni asi, se me repiten los resultados (NOTA: SOLO ESTE PROBLEMA HA
> SIDO CON 2 PROCEDIMIENTOS)
>
> Este es uno de ellos.
>
> CREATE PROCEDURE pBuscarCIES9
> (
> @CVE_PROCEDIMIENTO varchar(6)=NULL,
> @PROCEDIMIENTO varchar(100)=NULL,
> @CVE_CLASIFICACION int=NULL
> )
> AS
> set nocount on
>
> SELECT
> CAT_PROCEDIMIENTOS.*, CAT_CLASIFICACION_CIE.CLASIFICACION
> FROM CAT_PROCEDIMIENTOS INNER JOIN CAT_CLASIFICACION_CIE
> ON
> CAT_PROCEDIMIENTOS.CVE_CLASIFICACIONÊT_CLASIFICACION_CIE.CVE_CLASIFICACION
> WHERE CVE_PROCEDIMIENTO=ISNULL(@CVE_PROCEDIMIENTO,CVE_PROCEDIMIENTO)
> AND PROCEDIMIENTO=ISNULL(@PROCEDIMIENTO,PROCEDIMIENTO)
> AND
> CAT_PROCEDIMIENTOS.CVE_CLASIFICACION=ISNULL(@CVE_CLASIFICACION,CAT_PROCEDIMIENTOS.CVE_CLASIFICACION)
> GO
>
> SALUDOS Y ESPERANDO RESPUESTAS DE ANTEMANO..



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida