小编chr*_*des的帖子

当参数为null时插入默认值

我有一个表有一个默认值的列:

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)

问题是,如何让它在默认情况下使用默认@valuenull?我试过了:

insert into t (value) values ( isnull(@value, default) )
Run Code Online (Sandbox Code Playgroud)

这显然不起作用.还尝试了一个case声明,但这也不太公平.还有其他建议吗?我是以错误的方式来做这件事的吗?

更新:我正在尝试完成此操作不必:

  1. default在多个地方保持价值,并且
  2. 使用多个insert语句.

如果这是不可能的,我想我只需要忍受它.这似乎应该是可以实现的.

注意:我的实际表有多个列.我只是在写一个例子.

sql t-sql sql-server null stored-procedures

40
推荐指数
3
解决办法
10万
查看次数

使用.htaccess将非www URL重定向到www

我正在使用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.如何重写上述规则以便子域不会被重定向?

.htaccess isapi-rewrite

6
推荐指数
1
解决办法
2867
查看次数