-- 几种插入数据的方法--------- 1. 创建表后再插入 insert into 插入表(列...) select 列... from 表名... 2. 插入时创建表 SELECT 列... into 插入表 from 表名 3. 将存储过程或者动态批处理的结果集插入到新表(把本机当作链接服务器来用) EXEC sp_serveroption <服务器名>,'data access',true; SELECT * INTO 插入表 FROM OPENQUERY(<服务器名>,'EXEC {存储过程名称 | 动态批处理}') AS O; 4. 将存储过程或者动态批处理的结果集插入到新表(直接语句) INSERT INTO 插入表 EXEC {存储过程 | 动态批处理语句} 5. 当源表有字段为 自增长时,而插入表不想 自增长时,则可以使用 INSERT INTO 插入表 SELECT ID +0,字段... FROM 源表 6. 带返回值的 INSERT 语句 OUT 语句 CREATE TABLE dbo.CustomersDim ( KeyCol int NOT NULL IDENTITY PRIMARY KEY, CustomerID NCHAR(50) NOT NULL, CompanyName nvarchar(40) NOT NULL ); DECLARE @NEWCusts TABLE ( CustomerID NCHAR(5) NOT NULL PRIMARY KEY, KeyCol int NOT NULL unique ); INSERT INTO CustomersDim(CustomerID,CompanyName) OUTPUT INSERTED.CustomerID,INSERTED.keyCol INTO @NEWCusts -- 将生成的值 插入到的 临时表 OUTPUT INSERTED.CustomerID,INSERTED.keyCol -- 直接显示值 SELECT customerid,CompanyName FROM northwind.dbo.Customers WHERE Country =N'UK' AND CustomerID='AROUT' SELECT * FROM @NEWCusts