读书人

sql话语插入多行

发布时间: 2013-08-04 18:26:16 作者: rapoo

sql语句,插入多行
INSERT INTO `userTable` (`user_id`, `user_name`) VALUES
(1, 'dsf'),
(2, 'fgy'),
(3, 'faad');
这个插入语句没错吧?现在我需要user_id的1,2,3是从另一张表anotherTable中查找出的符合某个条件的所有值,应该怎么做?
[解决办法]
你上面的插入语句是有问题的.

INSERT INTO XXX SELECT A,B,C,D FROM AAAAA;
这种方式.


引用:
INSERT INTO `userTable` (`user_id`, `user_name`) VALUES
(1, 'dsf'),
(2, 'fgy'),
(3, 'faad');
这个插入语句没错吧?现在我需要user_id的1,2,3是从另一张表anotherTable中查找出的符合某个条件的所有值,应该怎么做?

[解决办法]
引用:
Quote: 引用:

你上面的插入语句是有问题的.

INSERT INTO XXX SELECT A,B,C,D FROM AAAAA;
这种方式.


Quote: 引用:

INSERT INTO `userTable` (`user_id`, `user_name`) VALUES
(1, 'dsf'),
(2, 'fgy'),
(3, 'faad');
这个插入语句没错吧?现在我需要user_id的1,2,3是从另一张表anotherTable中查找出的符合某个条件的所有值,应该怎么做?
插入语句是从这个网页看到的http://www.ludou.org/insert-multiple-rows-with-a-single-sql-query.html


那个例子是MYSQL的...PHP一般和MYSQL一起用.
咱们这个是Oracle...
[解决办法]
肯定是不行的,楼主可以自己验证下,values只能一条条的插入。对于一次插入多条记录,用insert ino ()
select ..语句
[解决办法]
引用:
Quote: 引用:

你上面的插入语句是有问题的.

INSERT INTO XXX SELECT A,B,C,D FROM AAAAA;
这种方式.

表XXX中其他的value都要另外指定,但user_id是从AAAA中查找到的,该怎么做?


A DEMO FOR YOU


--建立测试表USERTABLE
CREATE TABLE USERTABLE(
USERID NUMBER(10),
USERNAME VARCHAR2(100)
);
--建立测试表ANOTHERTABLE
CREATE TABLE ANOHTERTABLE(


USERID NUMBER(10),
USERN VARCHAR2(100),
USERDEP NUMBER(10)
);
--模拟测试数据
INSERT INTO ANOHTERTABLE
SELECT LEVEL,
LEVEL
[解决办法]
'NAME',
MOD(LEVEL,4)
FROM DUAL
CONNECT BY LEVEL<=100;

--从ANOTHERTABLE插入到USERTABLE中
INSERT INTO USERTABLE(USERID, USERNAME)
SELECT USERID, USERN FROM ANOHTERTABLE;



大概的意思是,你需要SELECT出来一个结果集,这个结果集要与你要插入的那个表的表结构是一直的,然后前面加上INSERT INTO XXX

读书人网 >oracle

热点推荐