-
SQLServer误区30日谈第30天有关备份的30个误区
误区#30:有关备份的30个误区全是错的在开始有关备份的误区之前,如果你对备份的基础没有了解,请看之前我在TechNetMagazine的文章:UnderstandingSQLServerBackups。30-01)备份操作会导致阻塞不,备份不会导致对用户对象加锁,虽然备份对IO系统的负担导致看起来阻塞了,但实际上不会...
数据库操作教程 2022-09-23 17:05:57 -
mssql2005,2008导出数据字典实现方法
在你要导出数据字典的数据空中右键,新建查询,执行如下代码即可复制代码代码如下:SELECT(casewhena.colorder=1thend...
数据库操作教程 2022-09-23 17:02:27 -
SQLSERVER的SQL语句优化方式小结
1、SQLSERVER2005的性能工具中有SQLServerProfiler和数据库引擎优化顾问,极好的东东,必须熟练使用。2、查询SQL语句时打开“显示估计的执行计划”,分析每个步骤的情况3、初级做法,在CPU占用率高的时候,打开SQLServerProfiler运行,将跑下来的数据存到文件中,然后打开数据库引擎优化顾问调用那个文件进行分析,由SQLSERVER提供索引优化建议...
数据库操作教程 2022-09-23 17:01:47 -
MSSQL多字段根据范围求最大值实现方法
-->Title:生成測試數據-->Author:wufeng4552-->Date:2009-09-2115:08:41declare@Ttable([Col1]int,[Col2]int...
数据库操作教程 2022-09-23 16:57:06 -
SQLServer触发器表的特定字段更新时,触发Update触发器
复制代码代码如下:createtriggerTR_MasterTable_UpdateonMasterTableafterupdateasifupdate([Type])--当Type字段被更新时,才会触发此触发器insertintoMasterLogTableselectId,(Case[Type]when1then'Type1'when2then'Type2'when3then'Type3'when4then'Type4'else'TypeDefault'end),Namefrominsertedgo另外再补充一句:insert和update的数据都会保存在临时表中,所以使用inserted可以取出这些数据,删除时使用deleted可以取出被删除的数据转载请标明出处:http://blog.csdn...
数据库操作教程 2022-09-23 16:57:03 -
sqlserver2005行列转换实现方法
复制代码代码如下:--CreateCompanyTableCreateTableCompany(ComIDvarchar(50)primarykey,ComNamenvarchar(50)notnull,ComNumbervarchar(50)notnull,ComAddressnvarchar(200),ComTelevarchar(50))--CreateProductTableCreateTableProduct(ProductIDvarchar(50)primarykey,ComIDvarchar(50)notnull,ProNamenvarchar(200)notnull,ProNumberintnotnull)select*fromproduct--insertintotablevalueinsertCompanyselect('58C0F3FD-7B98-4E74-A1A8-7B144FCB8707','CompanyOne','SH19991028','ShangHai','98765432112')unionallselect('768B2E84-0AAB-4653-...
数据库操作教程 2022-09-23 16:55:39 -
sqlserver字符串非空判断实现方法
复制代码代码如下:CREATEfunctiongetcolor(@井号varchar(50),@层位varchar(50))returnsvarchar(200)asbegindeclare@sqlvarchar(2000);set@sql=''--distinctselect@sql=@sql+颜色+','from(selectdistinct颜色fromyourtablenamewhere井号=@井号and层位=@层位and颜色isnotnull)aaset@sql=substring(@sql,1,len(@sql)-1)return@sqlend我发现set@sql=substring(@sql,1,len(@sql)-1)这句有的时候会报错,原因是@sql在用substring的时候,有时候会为空字符串请问在函数中,如何在substring之前判断下@sql是否为空?if@sqlisnotnullandlen(@sql)>=1set@sql=substring(@sql,1,len(@sql)-1)else....
数据库操作教程 2022-09-23 16:51:26 -
通过T_sql语句向其中一次填入一条数据或一次填入多条数据的方式填充数据
使用T_SQL创建数据库TestSchool创建一个学生表TblStudent创建学生成绩表TblScoreqtScoreId(成绩id,主键,自动编号)、tSId(学生编号)、tEnglish(英语成绩)、tMath(数学成绩)创建老师表TblTeacherqtTId、tTName、tTGender、tTAge、tTSalary、tTBirthday并使用T_sql语句向其中一次填入一条数据或一次填入多条数据的方式填入数据。(1)Insertinto表(列)select列1,列2union2)Insertinto表(列)select列1,列2from表3)Select列into新表名from旧表)复制代码代码如下:createdatabaseTestSchoolonprimary(name='TestSchool',filename='F:SQLServerTestSchool.mdf',size=10mb,filegrowth=10,maxsize=100mb)logon(name='TestSchool_log',filename='F:SQLServerTestSchool_l...
数据库操作教程 2022-09-23 16:49:15 -
SQLSERVER中得到执行计划的两种方式
得到执行计划的方式有两种:1、一种是在指令的前面打开一些开关,让执行计划信息打在结果集里,这种方法比较适合在一个测试环境里对单个语句调优。这些开关最常用的有复制代码代码如下:SETSHOWPLAN_ALLONSETSHOWPLAN_ALLON--(是不是reuse了一个执行计划,SQSERVERL有没有觉得缺少索引),只能在XML的输出里看到SETSTATISTICSPROFILEON还有如果使用SSMS的话,可以用快捷键:Ctrl+L小写L他会执行你的语句并显示执行计划,但是不会返回结果集 2、另一种方法是使用SQLTrace里的事件跟踪来跟踪语句的执行计划...
数据库操作教程 2022-09-23 16:48:00 -
SqlServer备份数据库的4种方式介绍
1.用sqlserver的维护计划在这里我就不给截图演示了,这个比较简单,无非就是通过sqlserver自己的维护计划拖拽出2个一个‘备份数据库'任务和一个‘清除维护'任务。需要注意的点: 1)有备份任务里边选择备份的库尽量选‘所有用户数据库'这项,以免选择了特定数据库备份以后某天添加了新数据库却忘了勾选导致丢备份...
数据库操作教程 2022-09-23 16:45:36 -
Selectcount(*)、Count(1)和Count(列)的区别及执行方式
在SQLServer中Count(*)或者Count(1)或者Count([列])或许是最常用的聚合函数。很多人其实对这三者之间是区分不清的...
数据库操作教程 2022-09-23 16:45:13 -
SQL中遇到多条相同内容只取一条的最简单实现方法
SQL中经常遇到如下情况,在一张表中有两条记录基本完全一样,某个或某几个字段有些许差别,这时候可能需要我们踢出这些有差别的数据,即两条或多条记录中只保留一项。如下:表timeand针对time字段相同时有不同total和name的情形,每当遇到相同的则只取其中一条数据,最简单的实现方法有两种1、selecttime,max(total)astotal,namefromtimeandgroupbytime;//取记录中total最大的值或selecttime,min(total)astotal,namefromtimeandgroupbytime;//取记录中total最小的值上述两种方案都有个缺点,就是无法区分name字段的内容,所以一般用于只有两条字段或其他字段内容完全一致的情况2、select*fromtimeandasawherenotexists(select1fromtimeandwherea.time=timeanda.total<total);此中方案排除了方案1中name字段不准确的问题,取的是total最大的值上面的例子中是只有一个字段不相同,假如有两个字段出现...
数据库操作教程 2022-09-23 16:43:55