Inserir valor padrão quando o parâmetro for nulo
Eu tenho uma tabela que tem uma coluna com um valor padrão:
create table t (
value varchar(50) default ('something')
)
Estou usando um procedimento armazenado para inserir valores nesta tabela:
create procedure t_insert (
@value varchar(50) = null
)
as
insert into t (value) values (@value)
A questão é: como faço para usar o padrão quando@value
énull
? Eu tentei:
insert into t (value) values ( isnull(@value, default) )
Isso obviamente não funcionou. Também tentei umcase
declaração, mas isso também não foi muito bom. Alguma outra sugestão? Estou fazendo isso da maneira errada?
Atualização: estou tentando fazer issosem ter de:
manter odefault
valor em vários locais euse múltiplosinsert
afirmações.Se isso não for possível, acho que vou ter que conviver com isso. Parece que algo deve ser atingido.
Nota: minha tabela atual possui mais de uma coluna. Eu estava escrevendo rapidamente um exemplo.