慎用SELECT INTO复制表

准备数据
GO
SET ANSI_NULLS ON
GO
--创建
IF OBJECT_ID(N'Groups') IS NOT NULL
BEGIN
PRINT 'This table have been existed';
DROP TABLE Groups;
END
ELSE
BEGIN
CREATE TABLE [dbo].[Groups]
(
[GroupID] SMALLINT IDENTITY(1, 1),
[GroupName] NVARCHAR(50),
[Description] NVARCHAR(100),
CONSTRAINT [PK_Groups_GroupID] PRIMARY KEY(GroupID)
)
END
GO
--添加数据
INSERT INTO dbo.Groups
VALUES ('SuperAdmin', '超级管理员');
INSERT INTO dbo.Groups
VALUES('CusServGroup', '客服部门组');
INSERT INTO dbo.Groups
VALUES('CommonGroup', '普通部门组');
GO
DROP TABLE dbo.Users
CREATE TABLE [dbo].[Users]
(
[UserId] BIGINT IDENTITY(1, 1) NOT NULL ,
[UserName] NVARCHAR(25) NULL ,
[PassWord] NVARCHAR(50) NULL ,
[Sex] BIT NULL ,
[GroupID] SMALLINT ,
CONSTRAINT [PK_Users_UserId] PRIMARY KEY CLUSTERED ( [UserId] ASC ),
CONSTRAINT [FK_Users_Groups_GroupID] FOREIGN KEY(GroupID) REFERENCES Groups(GroupID)
)
GO
ALTER TABLE [dbo].[Users] ADD CONSTRAINT [DF_Users_Sex] DEFAULT ((0)) FOR [Sex]
GO
CREATE TRIGGER TRG_Users ON dbo.Users
AFTER DELETE
AS
SET IDENTITY_INSERT dbo.Users ON;
INSERT INTO UserHistory
(UserId, UserName, PassWord, Sex, GroupID)
SELECT * FROM deleted
GO
INSERT INTO dbo.Users( UserName, PassWord, Sex, GroupID )
VALUES ( 'Kerry', '312ddfjdf', 1, 1 )
INSERT INTO dbo.Users( UserName, PassWord, Sex, GroupID )
VALUES ( 'test', '312ddfjdf', 0, 3 )
我们用下面的语句复制下表Users,我们具体可以从下图中看到表User与TestUser结构的不同了
SELECT * INTO TestUser FROM dbo.Users

慎用SELECT INTO复制表的更多相关文章
- MSSQLSERVER数据库- 慎用SELECT INTO复制表
很多时候我们习惯于用SELECT INTO复制一个表或表结构,因为它方便,快捷,而且在某些情况下效率比INSERT INTO 效率要高一些.但是要注意: SELECT INTO 复制表或表结构的时候, ...
- 尽量不要用select into 复制表
select into 复制表会带来灾难后果,因为只是复制了一个外壳,就像克隆人,有躯体没意识,像原表的主键 外键 约束 触发器 索引都不会被复制过来, 创建一个表:CREATE TABLE [dbo ...
- MySQL 复制表
MySQL 复制表 如果我们需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等. 如果仅仅使用CREATE TABLE ... SELECT 命令,是无法实现的. 本文将为大家介绍如何完整 ...
- Oracle如何复制表的sql语句
以下的文章主要是介绍Oracle复制表的sql语句,其中包括如何复制表结构的sql.以及如何复制相关表的结构又复制表中的数据sql.以下就是相关内容的具体介绍,望你浏览完以下的内容会有所收获. 如下, ...
- 吴裕雄 26-MySQL 复制表
如果我们需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等. 如果仅仅使用CREATE TABLE ... SELECT 命令,是无法实现的.本章节将为大家介绍如何完整的复制MySQL数据 ...
- mysql-10临时表、复制表
1.创建临时表 mysql临时表在我们需要保存一些临时数据时非常有用. 临时表只在当前连接可见,当关闭连接时,mysql会自动删除表并释放所有空间. 如果使用客户端创建临时表,只有在管不客户端程序时才 ...
- 【MYSQL笔记2】复制表,在已有表的基础上设置主键,insert和replace
之前我自己建立好了一个数据库xscj:表xs是已经定义好的 具体的定义数据类型如下: 为了复制表xs,我们新建一个表名为xstext,使用下列语句进行复制xs,或者说是备份都可以: create ta ...
- 二十七、MySQL 复制表
MySQL 复制表 如果我们需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等. 如果仅仅使用CREATE TABLE ... SELECT 命令,是无法实现的. 本章节将为大家介绍如何完 ...
- MySQL数据库之-foreign key 外键(一对多、多对多、一对一)、修改表、复制表
摘要: 外键 一对多 外键 多对多 外键 一对一 --------------------------------------------------------------------------- ...
随机推荐
- 锚点自适应 map area coords
最近做MOBILE的HTML5开发,人体图和页面一样,需要自适应不同的手机屏幕,蛋疼的是coords里面的标记是固定的,图片自适应后,锚点的标记就会产生空白区域,看了下https://github.c ...
- vue cli 3 & webpack-merge & webpack 3 & bug
vue cli 3 & webpack-merge & webpack & bug bug webpack-merge & bug webpack-merge ??? ...
- hdu 1007 Quoit Design (最近点对问题)
Quoit Design Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
- [codeforces934E]A Colourful Prospect
[codeforces934E]A Colourful Prospect 试题描述 Firecrackers scare Nian the monster, but they're wayyyyy t ...
- 洛谷 P3349 [ZJOI2016]小星星 解题报告
P3349 [ZJOI2016]小星星 题目描述 小\(Y\)是一个心灵手巧的女孩子,她喜欢手工制作一些小饰品.她有\(n\)颗小星星,用\(m\)条彩色的细线串了起来,每条细线连着两颗小星星. 有一 ...
- JavaScript jQuery 中定义数组与操作及jquery数组操作 http://www.jb51.net/article/76601.htm
首先给大家介绍javascript jquery中定义数组与操作的相关知识,具体内容如下所示: 1.认识数组 数组就是某类数据的集合,数据类型可以是整型.字符串.甚至是对象Javascript不支持多 ...
- SICAU-OJ: 数字游戏
数字游戏 题意:给出一个长度为n的数字,然后抹去k个数,使得剩下的数最大. 题解: 贪心的思想:让答案串中每一位尽可能大. 我们肯定要用完这k次的,假设有一个答案字符串ans,我们现在遍历给出的串,假 ...
- 模拟Windows系统“回收站”
HTML: <!DOCTYPE html><html> <head> <meta http-equiv="content-type" co ...
- angular控制器controller里获取不到ng-model的值,获取为undefined
所遇问题: html:ng-model=“test”, 但是在controller里打印的$scope属性里面并未发现test,控制台打印test为undefined,页面上{{test}}却可以正常 ...
- Topcoder SRM 604 div1题解
CTSC考完跑了过来日常TC--- Easy(250pts): 题目大意:有个机器人,一开始的位置在(0,0),第k个回合可以向四个方向移动3^k的距离(不能不动),问是否可以到达(x,y),数据满足 ...