insert语句搭配select语句,可以从一个表中取出现成的记录,来输入到另一个表中,而且一次可以新增多笔记录。
语法格式如下:
INTERET [INTO] table name[(column list)]
SELECT_statemnet
eg,
--1 create table category and composer
CREATE TABLE [dbo].[category](
[sn] [int] IDENTITY(1,1) NOT NULL,
[category] [char](6) NULL,
[name] [varchar](10) NULL
)
CREATE TABLE [dbo].[composer](
[sn] [int] IDENTITY(1,1) NOT NULL,
[name] [varchar](10) NULL
)
--2 insert record into category from composer
INSERT category(category,name)
SELECT "科幻",name
FROM composer
WHERE sn < 4
--3 query the category after updated
SELECT * FROM category
INSERT语句搭配EXEC语句来使用,与SELECT不同的是EXEC语句执行的是存储过程。
INTERET [INTO] table name[(column list)]
EXEC_statemnet
注意事项:EXEC语句传回的执行结果须与column_list的字段类型相对应(字段类型定义相一致,比如name nvarchar(124),那么我们只能在定义name字段的时候大于124)。
--
create table #helpdb
(
name nvarchar(124),
dbsize nvarchar(13) null,
owner varchar(24) null,
dbid smallint null,
created datetime not null,
status text,
cmptlevel tinyint
)
INSERT #helpdb
exec sp_helpdb
select * from #helpdb