我在中创建了一个表Oracle SQL
:
create table t1
(
empno number(6) PRIMARY KEY,
empname varchar(30),
hiredate date,
basic number(8),
deptno number(4)
);
现在,我使用一个 查询 将值插入表中:
insert into t1 values((131309,'HP','20-FEB-04',2000000,1235)
(131310,'HT','20-APR-14',120020,1234));
但这显示了错误:
insert into t1 values((131309,'HP','20-FEB-04',2000000,1235),
*
ERROR at line 1:
ORA-00907: missing right parenthesis
我该如何纠正?
一条INSERT VALUES
语句总是精确地插入1行。如果要插入带有硬编码值的多行,最常见的方法就是执行两个单独的INSERT
语句。
insert into t1 values(131309,'HP','20-FEB-04',2000000,1235);
insert into t1 values(131310,'HT','20-APR-14',120020,1234);
如果您确实想要,可以从中选择您的硬编码值dual
,然后执行INSERT SELECT
insert into t1
select 131309, 'HP', '20-FEB-04',2000000,1235 from dual
union all
select 131310,'HT','20-APR-14',120020,1234 from dual
或者你可以做一个 INSERT ALL
insert all
into t1 values(131309,'HP','20-FEB-04',2000000,1235)
into t1 values(131310,'HT','20-APR-14',120020,1234)
select * from dual
就个人而言,我只使用两个语句。
尽管这与您的问题无关,但有几条评论
insert
语句中的列。您将使SQL更加健壮,这样,如果将来添加允许NULL
值的新列,您的语句仍然可以使用。而且,当列列表在那里时,您将避免很多错误,而不是希望有人记住表中列的顺序。date
列中插入值,请使用日期,而不要使用表示日期的字符串文字。依赖隐式数据类型转换是许多错误的根源。使用显式to_date
或使用ANSI日期文字。并使用4位数字的年份。 问题内容: 我是第一次在MacOSX上使用Postgres 9.3创建数据库。 假设我有桌和。开始时是空的和已填充的。我想的条目的数量在列在表为等于每个表等表的下方。因此,应包含每个唯一的入口和计数。我还不习惯这种语法,所以我真的不知道该怎么做。该列是多余的。 表 表 这将是正确的解决方法吗? 问题答案: 回答原始问题 Postgres允许集合返回函数(SRF)乘以行。 是你的朋友: 自 Post
问题内容: 我需要将一个列的数据插入同一表中的另一列。 有人可以告诉我该怎么写吗? 谢谢 问题答案:
问题内容: 在MySQL中,我会使用 但这会导致SQLite错误。SQLite的正确语法是什么? 问题答案: 在此之前,已经回答了这一问题:是否可以一次在SQLite数据库中插入多行? 要回答您对OMG Ponies的评论,请回答: 从3.7.11版本开始,SQLite确实支持多行插入。理查德·希普(Richard Hipp)评论:
问题内容: 我有两个桌子和。表具有字段和其他几个字段。表具有3个字段: 是固定的值枚举。例如,它可以是,或。 我需要进行查询,其结果将是4列: ,对,对,对 如果不存在用于相应值在表然后NULL值应在相应的列中显示。 例: 结果应该是: 我尝试了3次左联接表,但无法弄清楚如何排列输出 问题答案: 您需要使用多个: 这是一个示例:SQL Fiddle。
问题内容: 我要在tableA上写一个插入触发器。它将使用相同的表但不同的列执行更新。执行此操作时出现错误。我的触发器是 我有一个应用程序将单独执行col2并将col1保持为空。因此,一旦插入行,我的触发器将为col1提供值。但是插入行时出现错误消息,提示“触发器失败且无效”。这该怎么做。TIA。 问题答案: 如果要分配一个简单的默认值,最简单的方法是使用DEFAULT子句在表上声明它。 这适用于
本文向大家介绍MySQL INSERT INTO SELECT导致从另一张表一次插入多行,包括了MySQL INSERT INTO SELECT导致从另一张表一次插入多行的使用技巧和注意事项,需要的朋友参考一下 让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记录- 这将产生以下输出- 以下是创建第二个表的查询。 以下是执行INSERT INTO SEL