-
详解SQL中drop、delete和truncate的异同
第一:相同点: truncate和不带where子句的delete,以及drop都会删除表内的数据第二:不同点:1.truncate和delete只删除数据不删除表的结构(定义) drop语句将删除表的结构被依赖的约束(constrain)、触发器(trigger)、索引(index);依赖于该表的存储过程/函数将保留,但是变为invalid状态。2.delete语句是数据库操作语言(dml),这个操作会放到rollbacksegement中,事务提交之后才生效;如果有相应的trigger执行的时候将被触发...
数据库操作教程 2022-09-23 17:43:38 -
实例理解SQL中truncate和delete的区别
本文以一个简单实例为大家介绍了SQL中truncate和delete的区别,帮助大家理解,具体内容如下---创建表Table1IFOBJECT_ID('Table1','U')ISNOTNULLDROPTABLETable1GOCREATETABLETable1(IDINTNOTNULL,FOIDINTNOTNULL)GO--插入测试数据INSERTINTOTable1VALUES(1,101),(2,102),(3,103),(4,104)GO---创建表Table2IFOBJECT_ID('Table2','U')ISNOTNULLDROPTABLETable2GOCREATETABLETable2(FOIDINTNOTNULL)GO--插入测试数据INSERTINTOTable2VALUES(101),(102),(103),(104)GOSELECT*FROMTable1GOSELECT*FROMTable2GO在Table1表中创建触发器,当表中的数据被删除时同时删除Table2表中对应的FOIDCREATETRIGGERTG_Table1ONTable1AFTERDELET...
数据库操作教程 2022-09-23 17:42:41 -
在SQLServer中查询资料库的TABLE数量与名称的sql语句
在SQLServer中每一个database裡都有一个系统所产生的tablesysobjects这一个table中记录了database中所有的table名称我们可以用下面的SQL语法作查询的动作复制代码代码如下:SelectName,idfromsysobjectswherextype='U'其中xtype='U'代表使用的table,若是使用xtype='S'则代表系统预设的table在系统table中还有一个名叫syscolumns的table他记录了栏位的资料若是想要找出某一个table的栏位相关资料,可以用下面的SQL语法....
数据库操作教程 2022-09-23 17:38:03 -
SqlServer实现类似Oracle的before触发器示例
1.插入数据前判断数据是否存在SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGO--=============================================--Author:<Author,,Name>--Createdate:<CreateDate,,>--Description:<Description,,>--=============================================alterTRIGGERCategoryExistTriggerONProductCategoryinsteadofinsertASdeclare@categoryNamevarchar(50);BEGIN--SETNOCOUNTONaddedtopreventextraresultsetsfrom--interferingwithSELECTstatements...
数据库操作教程 2022-09-23 17:35:39 -
sql2000报错Successfullyre-openedthelocaleventlog解决方法
报错1:Unabletoreadlocaleventlog(reason:事件日志文件已在读取间更改。报错2:Successfullyre-openedthelocaleventlog-NOTE:Someeventsmayhavebeenmissed.微软解释:http://support.microsoft.com/default.aspx?scid=kb;en-us;811484解决办法:如果要防止错误日志,中出现这些消息可以使用跟踪标志2505作为启动参数要将跟踪标志2505作为SQLServer启动参数,使用以下步骤:1.企业管理器,右键单击服务器名称,依次属性...
数据库操作教程 2022-09-23 17:34:47 -
SqlServer2012中LEAD函数简单分析
LEAD函数简单点说,就是把下一行的某列数据提取到当前行来显示,看示例更能解释清楚,先看测试用脚本DECLARE@TestDataTABLE(IDINTIDENTITY(1,1),DepartmentVARCHAR(20),LastNameVARCHAR(20),RateFLOAT)INSERTINTO@TestData(Department,LastName,Rate)SELECT'DocumentControl','Arifin',17.7885UNIONALLSELECT'DocumentControl','Norred',16...
数据库操作教程 2022-09-23 17:34:11 -
查询SQLServerIndex上次Rebuild时间的方法
朋友有一个RebuildIndex的Job执行一般停掉了,问我是否可以查看哪些Index已经被Rebuild过了。本来以为Sys.index或者Sys.objects会存储类似的信息,结果没有找到...
数据库操作教程 2022-09-23 17:32:14 -
EXEC(EXECUTE)函数访问INSERTED或DELETED的内部临时触发表
刚开始时,这个表的字段很少(10个以内),前开发者把这个表的所有存储过程与触发器以及表函数全是写死了。用户每添加一些字段,都需要手动去更改这些存储过程与触发器以及表函数...
数据库操作教程 2022-09-23 17:30:05 -
在WindowsXP系统安装SQLserver2000企业版(图解版)
但网上的方法都只有文字说明,而没有附加相应的截图,我在测试的过程中顺便截图,这样更直观些。下面是海波的安装和测试过程:1、进入MS SQL服务器软件所在的安装盘或文件夹,进入MSDE目录,并找到setup.exe...
数据库操作教程 2022-09-23 17:29:30 -
实例学习SQL的Select命令
-1、查找员工的编号、姓名、部门和出生日期,如果出生日期为空值,--显示日期不详,并按部门排序输出,日期格式为yyyy-mm-dd。select emp_no ,emp_name ,dept ,isnull(convert(char(10),birthday,120),'日期不详') birthdayfrom employeeorder by dept --2、查找与喻自强在同一个单位的员工姓名、性别、部门和职称select emp_no,emp_name,dept,titlefrom employeewhere emp_name<>'喻自强' and dept in(select dept from employeewhere emp_name='喻自强')--3、按部门进行汇总,统计每个部门的总工资select dept,sum(salary)from emplo...
数据库操作教程 2022-09-23 17:27:21 -
insertselect与selectinto的用法使用说明
insertinto(列名)select列名from表名where条件--不创建表,只复制表数据select列名into表名(这个表名是不存在的)from表名where条件,--创建一张新表,只复制选择的列名字段数据Insert是T-sql中常用语句,InsertINTOtable(field1,field2,...)values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECTINTO和INSERTINTOSELECT表复制语句了...
数据库操作教程 2022-09-23 17:25:36