Хранение двух указателей в отдельном слове для двунаправленного связанного списка, жесткого меня урок, что можно сделать очень плохие вещи в C действительно (из-за которого консервативный GC испытает много затруднений).
Вы можете объявить так
CREATE PROCEDURE MyProcName
@Parameter1 INT = 1,
@Parameter2 VARCHAR (100) = 'StringValue',
@Parameter3 VARCHAR (100) = NULL
AS
/* check for the NULL / default value (indicating nothing was passed */
if (@Parameter3 IS NULL)
BEGIN
/* whatever code you desire for a missing parameter*/
INSERT INTO ........
END
/* and use it in the query as so*/
SELECT *
FROM Table
WHERE Column = @Parameter
Да, это так. Объявите параметр следующим образом:
@Sort varchar(50) = NULL
Теперь вам даже не нужно передавать параметр. По умолчанию он будет равен NULL (или любому другому значению по умолчанию).