回答

收藏

在存储过程中使用列的默认值

技术问答 技术问答 189 人阅读 | 0 人回复 | 2023-09-12

我正在使用SQL Server 2012,有两个具有以下定义的表
1 y1 x9 X9 W$ ^1 F! T3 `! QCREATE TABLE t1 (id INT PRIMARY KEY,value NVARCHAR(10))CREATE TABLE t2 (id INT PRIMARY KEY,value BIT DEFAULT 1)ALTER TABLE t2 WITH CHECK ADD CONSTRAINT FK FOREIGN KEY(id) REFERENCES t1 (id)我为当前示例插入了以下列:$ t+ d& }2 ]5 P5 ~
INSERT INTO t1 VALUES (1,'a')INSERT INTO t1 VALUES (2,'b')INSERT INTO t1 VALUES (3,'c')INSERT INTO t2 VALUES (1,1)INSERT INTO t2 VALUES (3,0)我正在运行这个查询,它可以工作: x" w+ q5 q1 W- N/ n/ l. c
SELECT  t1.*,ISNULL(t2.value,1)FROM  t1  LEFT JOIN t2 ON t1.id = t2.id用我在表列中定义的默认值替换1的方法是什么?ISNULL(t2.value,1)``value``t2) E/ u" X4 q5 g
这是我通过这个例子创建的sqlfiddle: [SQLFIDDLE DEMO](http://sqlfiddle.com/#!6/e41b0e/1)" u% D9 \0 `) b- Y8 F( g+ b
                                                               
  I0 Z. G, @3 P7 q$ {& j    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则