🧚 Atenção! Beekeeper Studio é uma GUI de banco de dados rápida, moderna e de código aberto Download
April 11, 2023 Por Beekeeper Studio Staff

Often developers need to write a stored procedure that returns a resultset filtered based on input parameters. One solution is to use the EXECUTE command passing a SQL strings made by concatenating a SELECT statement with a WHERE clause. The EXECUTE command does the job but it is limited in the following areas:

  • Patching complex conditions in the WHERE clause can get cumbersome.
  • The SQL string passed to the EXECUTE command runs in its own memory space, hence it doesn’t share the same settings used by the main batch.
  • The server cannot optimize the patched SQL like it does regular batches.

One solution to replace the EXECUTE command is to use the ISNULL function. The following stored procedure queries the orders table and returns a resultset based on the parameters provided. If null is passed in the parameter, the procedure will ignore it:

orders Table

OrderID Name Price
345 John Doe 400
346 John Doe 450
347 Mark Smith 400
USE orders_database

CREATE PROCEDURE [DBO].[order_filter]
@name CHAR(10),
@price INT
AS
SELECT *
FROM orders
WHERE name = ISNULL(@name, name)
AND price = ISNULL(@price, price)

Run this SQL script from the SQL window in Teratrax Database Manager to create the stored procedure. Replace every thing in lower case with your own.

Try running this procedure in the following scenarios (replace parameters to match your own criteria):

EXECUTE order_filter 'John Doe', null
EXECUTE order_filter null, 400
EXECUTE order_filter null, null

Beekeeper Studio É Uma GUI de Banco de Dados Gratuita e de Código Aberto

A melhor ferramenta de consultas SQL e editor que já usei. Fornece tudo que preciso para gerenciar meu banco de dados. - ⭐⭐⭐⭐⭐ Mit

Beekeeper Studio é rápido, intuitivo e fácil de usar. Beekeeper suporta muitos bancos de dados e funciona muito bem no Windows, Mac e Linux.

A versão Linux do Beekeeper é 100% completa, sem cortes e sem compromissos de recursos.

O Que Os Usuários Dizem Sobre o Beekeeper Studio

★★★★★
"O Beekeeper Studio substituiu completamente meu antigo fluxo de trabalho com SQL. É rápido, intuitivo e torna o trabalho com banco de dados agradável novamente."
— Alex K., Desenvolvedor de Banco de Dados
★★★★★
"Já experimentei muitas GUIs de banco de dados, mas o Beekeeper encontra o equilíbrio perfeito entre recursos e simplicidade. Simplesmente funciona."
— Sarah M., Engenheira Full Stack

Pronto para Melhorar seu Fluxo de Trabalho com SQL?

download Download Gratuito