2012-09-03 52 views
0

请帮我解决这个问题。从2个或不同表的列名插入值到表中?

  1. 表t1具有“t1c1”和“t1c2”列。

  2. 表t2具有“t2c2”和“t2c2”列。

我必须将值插入T3表具有“t3c1”,“t3c2”,t3c3" 列。

的条件是‘t3c2 T1C2‘列和’列中的值应被填充’ “t3c3”一栏应该从“t2c2”栏和“t3c1”填充应从光标值填充

能在这个别人的帮助这是可能的

+0

“t2c2”and“t2c2”? –

回答

1

这应该工作:??

INSERT INTO t3 (t3c1, t3c2, t3c3) 
SELECT currval, t1.t1c2, t2.t2c2 
FROM t1, t2; 

如果您需要在t1t2匹配某些行,你可以添加:

WHERE t1.t1c1 = 'value' 
    AND t2.t2c1 = 'value'; 
+0

感谢本杰明的快速回答!我会在执行 – kattashri

+0

后回来嗨benjamin ......除了t3c1列应该是游标值之外,所有的都是正确的......我如何使用游标值插入到该列中 – kattashri

+0

@kattashri对不起,我不能胜任与甲骨文,我不能帮助你更多! – Benjamin

0
insert into t3(t3c1,t3c2,t3c3) 
    (select curval,t1.t1c2,t2.t2c2 from t1 left outer join t2 on t1.col=t2.col) 
0

我不知道现在如果我明白你的问题。 可能是SQL中的一些代码会比其他的描述更好。如果我已了解你有这样的观点

CREATE VIEW t3 as SELECT t1c2 AS t3c2, t2c2 AS t3c3, rowid (oid ... or something) AS t3c1 FROM t1,t2 WHERE .... 

然后你就可以做一个TRIGER INSTEAD OF

CREATE TRIGGER t3_insert INSTEAD OF INSERT ON t3 AS BEGIN 
    INSERT t1 .... VALUES (NEW.t3c1 .....) 
    ....... 
END; 

,或者如果T3是常规表,并要修改在T3您的数据,然后使用触发器AFTER INSERT (UPDATE,DELETE)

更具体一些,您可以获得更好的解决方案。

+0

雅t3是一个常规表,我不是试图修改t3表,但我试图填充t3表,其中的列是来自另一个表的值,其中一列是一个游标值 – kattashri

相关问题