首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

sql server 的insert语句中使用子查询

作者:  时间: 2011-06-17

-- 以省市表为例,主键自增 

CREATE TABLE [nis_provinces] (

[id] [int] IDENTITY (1, 1) NOT NULL ,
[provinces] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[fatherid] [int] NOT NULL ,
CONSTRAINT [PK_nis_provinces] PRIMARY KEY  CLUSTERED 
(
[id]
)  ON [PRIMARY] 
) ON [PRIMARY]
GO 

 insert into nis_provinces values('北京市',0);

想插入北京各区数据,在oracle中,可以这样写:

insert into  nis_provinces values('东城区',select id from nis_provinces where provinces='北京市') ;

但在sql server的insert语句中,不能使用子查询,要写成这样: 

insert into nis_provinces select '东城区',id from nis_provinces where provinces='北京市';
insert into nis_provinces select '西城区',id from nis_provinces where provinces='北京市';