sql server 的insert语句中使用子查询
-- 以省市表为例,主键自增
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=\'北京市\';