我有一个表有一个默认值的列:
create table t (
value varchar(50) default ('something')
)
Run Code Online (Sandbox Code Playgroud)
我正在使用存储过程将值插入此表:
create procedure t_insert (
@value varchar(50) = null
)
as
insert into t (value) values (@value)
Run Code Online (Sandbox Code Playgroud)
问题是,如何让它在默认情况下使用默认@value值null?我试过了:
insert into t (value) values ( isnull(@value, default) )
Run Code Online (Sandbox Code Playgroud)
这显然不起作用.还尝试了一个case声明,但这也不太公平.还有其他建议吗?我是以错误的方式来做这件事的吗?
更新:我正在尝试完成此操作而不必:
default在多个地方保持价值,并且insert语句.如果这是不可能的,我想我只需要忍受它.这似乎应该是可以实现的.
注意:我的实际表有多个列.我只是在写一个例子.
我正在使用Helicon的ISAPI Rewrite 3,它基本上在IIS中启用了.htaccess.我需要将非www URL重定向到www版本,即example.com应重定向到www.example.com.我使用了示例中的以下规则,但它会影响子域:
RewriteCond %{HTTPS} (on)?
RewriteCond %{HTTP:Host} ^(?!www\.)(.+)$ [NC]
RewriteCond %{REQUEST_URI} (.+)
RewriteRule .? http(?%1s)://www.%2%3 [R=301,L]
Run Code Online (Sandbox Code Playgroud)
这大部分都有效,但也将sub.example.com重定向到www.sub.example.com.如何重写上述规则以便子域不会被重定向?