CREATE PROCEDURE LeeClientes @IDCliente AS int = 0 --Igualando el parámetro a un valor inicial conseguimos que el parámetro se convierta en opcional AS SELECT IDCliente, RazonSocial FROM MyProgram_Clientes WHERE (MyProgram_Clientes.IDCliente = @IDCliente) OR (@IDCliente = 0) --EXEC LeeCLientes Devuelve todos los clientes de la base de datos --EXEC LeeCLientes @IDCliente Devuelve el cliente indicado en el parámtreo @IDCliente
via:
http://tenerifedotnet.wordpress.com/2009/02/12/parametros-opcionales-en-procedimientos-almacenados-sql-2000-y-05/