Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 是否从2个或不同表的列名向表中插入值?_Mysql_Oracle_Oracle11g_Sqlplus - Fatal编程技术网

Mysql 是否从2个或不同表的列名向表中插入值?

Mysql 是否从2个或不同表的列名向表中插入值?,mysql,oracle,oracle11g,sqlplus,Mysql,Oracle,Oracle11g,Sqlplus,请帮助我解决这个问题 表t1有“t1c1”和“t1c2”列 表t2有“t2c2”和“t2c2”列 我必须在t3表中插入“t3c1”、“t3c2”和“t3c3”列的值 条件是“t3c2”列值应从“t1c2”列填充,“t3c3”列值应从“t2c2”列填充,“t3c1”列值应从光标值填充 有人能帮忙吗?这可能吗?这应该可以: 插入t3(t3c1、t3c2、t3c3) 选择currval、t1.t1c2、t2.t2c2 从t1,t2; 如果只需要匹配t1和t2中的某些行,可以添加: WHERE t1.

请帮助我解决这个问题

  • 表t1有“t1c1”和“t1c2”列

  • 表t2有“t2c2”和“t2c2”列

  • 我必须在t3表中插入“t3c1”、“t3c2”和“t3c3”列的值

    条件是“t3c2”列值应从“t1c2”列填充,“t3c3”列值应从“t2c2”列填充,“t3c1”列值应从光标值填充

    有人能帮忙吗?这可能吗?

    这应该可以:

    插入t3(t3c1、t3c2、t3c3)
    选择currval、t1.t1c2、t2.t2c2
    从t1,t2;
    
    如果只需要匹配
    t1
    t2
    中的某些行,可以添加:

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

    我现在不知道我是否理解你的问题。 也许SQL中的一些代码比其他描述更好。如果我不理解你有这个观点

    CREATE VIEW t3 as选择t1c2作为t3c2,t2c2作为t3c3,rowid(oid…或其他)作为t1中的t3c1,其中。。。。
    
    然后您可以制作触发器
    ,而不是

    创建触发器t3\u insert,而不是t3上的insert作为BEGIN
    插入t1…值(NEW.t3c1…)
    .......   
    结束;
    
    或者,如果t3是常规表,并且您希望修改t3中的数据,则在插入(更新、删除)后使用触发器


    更具体地说,您将收到更好的解决方案。

    嗨,本杰明……除了t3c1列应该是光标值之外,其他都是正确的……如何使用光标插入该列value@kattashri对不起,我不能胜任Oracle,我不能帮你更多!ya t3是一个常规表,我不想修改t3表,但我试图填充t3表,其中的列是另一个表中的值,其中的一列是游标值
    insert into t3(t3c1,t3c2,t3c3) 
        (select curval,t1.t1c2,t2.t2c2 from t1 left outer join t2 on t1.col=t2.col)