Principales respuestas
Busqueda de registro de una tbla por cualquier campo

Pregunta
-
Buenos dias amigos me encuentro en la necesidad de pedirles ayuda yo se que para buscar un registro se utiliza al go como:
CREATE PROCEDURE busqueda(@ID int)
as begin
select * from principal where @ID=ID
end
goPero quisiera saber si hay alguna forma de hacer un procedimiento almacenado para buscar registros ingresando cualquier dato de cualquier columna no se si me explico
id cod marca color dueño 1 1.1 AXZ AZUL LUIS 2 1.3 FDW ROJO ANA 3 1.4 AXZ AZUL ANA 4 1.5 RWS AZUL JUAN 5 2.1 FDW ROJO ANA
si pongo azul todos los registros cuyo campo color sea azul, si pongo ana todos los registros que contengan ana pero tdo en un mismo store.
Respuestas
-
En el ejemplo propuesto '@Valor' es una variable, por lo mismo puede contener cualquier valor: 'ANA', 'AZUL', etc. En un procedimiento almacenado debes utilizar parámetros, por ejemplo:
CREATE PROCEDURE busqueda(@Valor varchar(100)) AS BEGIN SELECT * FROM NombreTabla WHERE marca = @Valor OR color = @Valor OR dueño = @Valor; END GO --Ejecutar procedimiento para buscar el valor de 'ANA' EXEC busqueda 'ANA'; GO --Ejecutar procedimiento para buscar el valor de 'AZUL' EXEC busqueda 'AZUL'; GO
Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.- Marcado como respuesta Emma Grz martes, 4 de julio de 2017 14:56
Todas las respuestas
-
La expresión de filtro debe comparar un valor contra el valor de cada columna que desees afectar, por ejemplo:
DECLARE @Valor varchar(100) = 'ANA'; SELECT * FROM NombreTabla WHERE marca = @Valor OR color = @Valor OR dueño = @Valor; GO
Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios. -
-
En el ejemplo propuesto '@Valor' es una variable, por lo mismo puede contener cualquier valor: 'ANA', 'AZUL', etc. En un procedimiento almacenado debes utilizar parámetros, por ejemplo:
CREATE PROCEDURE busqueda(@Valor varchar(100)) AS BEGIN SELECT * FROM NombreTabla WHERE marca = @Valor OR color = @Valor OR dueño = @Valor; END GO --Ejecutar procedimiento para buscar el valor de 'ANA' EXEC busqueda 'ANA'; GO --Ejecutar procedimiento para buscar el valor de 'AZUL' EXEC busqueda 'AZUL'; GO
Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.- Marcado como respuesta Emma Grz martes, 4 de julio de 2017 14:56