如何同时在两列中添加或插入多行? [复制]
Posted
技术标签:
【中文标题】如何同时在两列中添加或插入多行? [复制]【英文标题】:how do i add or insert multiple rows in two columns, at the same time? [duplicate] 【发布时间】:2017-11-30 03:17:44 【问题描述】:如何同时在两列中添加或插入多行?我正在尝试这个
insert into Gwish_bal(Account_code,Flag) values (
('10192885','I'),
('10146883','I')
);
它不工作我不断收到 ORA-00907:缺少右括号。我想插入一千个数字并标记它们。我需要的输出是一个看起来像这样的表格
一个
ccount code flag
800000008 I
800000009 I
....
800100000 I
【问题讨论】:
紧急?我们现在有急事吗? 哈哈,草莓先生,对不起,我的处境很紧张,希望你能理解 请注意,在您的帖子中添加“紧急”字样会将其排在最后。 【参考方案1】:试试
INSERT INTO Gwish_bal (Account_code, Flag)
VALUES
('10192885', 'l'),
('10146883', 'l');
【讨论】:
这不是有效的 Oracle 语法。 什么是正确的 oracle 语法【参考方案2】:您不需要包装列表。
insert into Gwish_bal(Account_code,Flag) values ('10192885','I'), ('10146883','I');
【讨论】:
这不是有效的 Oracle 语法。 你是什么版本的?? 谢谢你我如何正确的语法或打开列表【参考方案3】:使用this 语法:
INSERT ALL
INTO Gwish_bal(Account_code,Flag) VALUES ('10192885','I')
INTO Gwish_bal(Account_code,Flag) VALUES ('10146883','I')
SELECT * FROM dual;
千行:
insert INTO Gwish_bal(Account_code,Flag)
select to_char(level), 'I'
from dual
where level >= 10000
connect by level <= 11000
【讨论】:
谢谢!!我是新来的。所以假设我想添加一千行帐户代码并标记我将如何处理它 insert into Gwish_bal(Account_code, Flag) select Account_code, Flag from table_with_thousand_rows【参考方案4】:这应该可以在 oracle 中使用
INSERT ALL
INTO Gwish_bal ("Account_code", "Flag")
VALUES ('10192885', 'l')
INTO Gwish_bal ("Account_code", "Flag")
VALUES ('10192885', 'l')
INTO Gwish_bal ("Account_code", "Flag")
VALUES ('10192885', 'l')
SELECT * FROM dual ;
【讨论】:
没用,还是谢谢你 欢迎您,我忘记了最后的 SELECT * FROM dual ^^【参考方案5】:这应该可行:
INSERT ALL
INTO Gwish_bal (Account_code, Flag) VALUES ('10192885', 'l')
INTO Gwish_bal (Account_code, Flag) VALUES ('10146883','I');
但我遇到的更常见的解决方案是:
INSERT INTO Gwish_bal(Account_code,Flag)
SELECT '10192885', 'l' FROM dual
UNION ALL
SELECT '10146883','I' FROM dual;
【讨论】:
INSERT INTO Gwish_bal(Account_code,Flag) SELECT '10192885', 'l' FROM dual UNION ALL SELECT '10146883','I' FROM dual; INSERT INTO Gwish_bal(Account_code,Flag) SELECT '10192885', 'l' FROM dual UNION ALL SELECT '10146883','I' FROM dual;这个行得通,谢谢你,但有一千行,例如'100000','I' TO '109000','I'。我该怎么做 您可以尝试使用 PL/SQL 表和 FORALL。如果您在数据库之外,请使用带有绑定变量的语句。如果您只想要数据库中的数据,请使用 sqlldr。以上是关于如何同时在两列中添加或插入多行? [复制]的主要内容,如果未能解决你的问题,请参考以下文章