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

本文介绍了一种在SQL Server中插入带有父级ID的数据的方法,并对比了Oracle中的实现方式。通过具体的例子说明了如何在SQL Server中使用子查询来完成数据插入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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='北京市';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值