-
SQL语句练习实例之六人事系统中的缺勤(休假)统计
复制代码代码如下:---这是一个人事系统中的示例,要求记录一下员工的缺勤情况---1.要在表中记录一下缺勤计分,是对经常缺勤者的一种处罚性计分---规则:---1.如果员工在一年内的缺勤计分达到50,就会可以解雇该员工。---2.如果员工缺勤连续超过一天,就视为长病假,这时,第二天,第三天及以后的天数都不会统计该员工的缺勤计分----这些天也不算为缺勤...
数据库操作教程 2022-09-23 20:36:11 -
通过SQL语句直接把表导出为XML格式
首先建立一张表:复制代码代码如下:USE[ip]GO/******对象:Table[dbo].[SiteData]脚本日期:09/11/201017:41:11******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOSETANSI_PADDINGONGOCREATETABLE[dbo].[SiteData]([id][int]IDENTITY(1,1)NOTNULL,[SiteName][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,[SiteAdd][varchar](100)COLLATEChinese_PRC_CI_ASNOTNULL,[BaiduSort][int]NOTNULLCONSTRAINT[DF_SiteData_BaiduSort]DEFAULT((0)),[BaiduShouLu][int]NOTNULLCONSTRAINT[DF_SiteData_BaiduShouLu]DEFAULT((0)),CONSTRAINT[PK_SiteData]PRIMARYKEYCLUSTERED(...
数据库操作教程 2022-09-23 20:36:07 -
sqlserver错误602,未能在sysindexes中找到数据库的解决办法
解决办法:直接附加或附加应该是不行的,用脚本+导数据肯定没有问题。Sql2005转到Sql2000的步骤步骤1.生成for2000版本的数据库脚本Sql2005的mangerstudio--打开"对象资源管理器"(没有的话按F8),连接到你的实例--右键要转到2000的库--任务--生成脚本--在"脚本向导"的"选择数据库"中,确定选择的是要转到2000的库--勾选"为所选数据库中的所有对象编写脚本"--在接下来的"选择脚本选项"中,找到"为服务器版本编写脚本"项,选择"SQLServer2000"--其他选项根据需要设置--最后把脚本保存到一个.sql脚本文件2.在2000中创建目标数据库在查询分析器(或2005的mangerstudio在打开脚本文件),连接到SQLServer2000,执行上面生成的脚本.以创建一个新的数据库3.将数据从2005导到20002005的mangerstudio--打开"对象资源管理器"(没有的话按F8),连接到你的实例--右键要转到2000的库--任务--导出数据--在"SQLServer导入和导出向导"的"选择数据源"步骤中,确定选择的是要导出的数...
数据库操作教程 2022-09-23 20:35:58 -
sqlserver下Kill所有连接到某一数据库的连接
复制代码代码如下:USEmasterDECLARE@spidintDECLARECURCURSORFORSELECTspidFROMsysprocessesWHEREdbid=5FETCHNEXTFROMCURINTO@spidWHILE@@FETCH_STATUS=0BEGIN--EXEC('KILL'+@spid)FETCHNEXTFROMCURINTO@spidENDCLOSECURDEALLOCATECUR...
数据库操作教程 2022-09-23 20:35:55 -
sql自动增长标识导致导入数据问题的解决方法
对于一个设了自动增长标识的数据表来说,它的字段的值是由数据库自动设置的;这在导数据时很麻烦。当我们导数据时,我们往往想想将标识字段的数据也导进来,怎么办呢?方法有两种:1.用数据库管理工具在界面将表的自动增长标识去除,导完数据,再在界面里改回来...
数据库操作教程 2022-09-23 20:35:51 -
小议sqlserver数据库主键选取策略
因为主键可以唯一标识某一行记录,所以可以确保执行数据更新、删除的时候不会出现张冠李戴的错误。当然,其它字段可以辅助我们在执行这些操作时消除共享冲突,不过就不在这里讨论了...
数据库操作教程 2022-09-23 20:35:45 -
ASP.NET下向SQLServer2008导入文件实例操作方法
ASP.NET向SQLServer导入文件主要用到FileUpload控件的FileBytes属性。该属性从FileUpload控件所指定的文件返回一个字节数组...
数据库操作教程 2022-09-23 20:35:22 -
SQLServer中的死锁说明
两个进程发生死锁的典型例子是:进程T1中获取锁A,申请锁B;进程T2中获取锁B,申请锁A,我们下面动手来演示一下这种情况:1.创建一个Database,名为InvDB。2.执行下面脚本创建person表并填充两条数据:3.在SQLServerManagementStudio的两个窗口中同时执行下面的查询:这段代码在默认的READCOMMITTED隔离级别下运行,两个进程分别在获取一个排它锁的情况下,申请对方的共享锁从而造成死锁...
数据库操作教程 2022-09-23 20:35:16 -
SQL语句练习实例之四找出促销活动中销售额最高的职员
复制代码代码如下:---找出促销活动中销售额最高的职员---你刚在一家服装销售公司中找到了一份工作,此时经理要求你根据数据库中的两张表得到促销活动销售额最高的销售员---1.一张是促销活动表---2.一张是销售客列表createtablePromotions(activitynvarchar(30),sdatedatetime,edatedatetime)insertPromotionsselect'五一促销活动','2011-5-1','2011-5-7'unionselect'十一促销活动','2011-10-1','2011-10-7'unionselect'OA专场活动','2011-6-1','2011-6-7'gocreatetablesales(idintnotnull,namenvarchar(20),saledatedatetime,pricemoney)goinsertsalesselect1,'王五','2011-5-1',1000unionselect1,'王五','2011-5-2',2000unionselect1,'王五','2011-5-3',3000u...
数据库操作教程 2022-09-23 20:35:11 -
将表数据生成Insert脚本比较好用的生成插入语句的SQL脚本
复制代码代码如下:setANSI_NULLSONsetQUOTED_IDENTIFIERONgo--=============================================--Author:华岭--Createdate:2008-10-28--Description:将表数据生成Insert脚本--Demo:execpCreateInsertScript'BexmCodeType','dictypeid=61'--=============================================alterproc[dbo].pCreateInsertScript(@tablenamevarchar(256),@connvarchar(400))asbeginsetnocountondeclare@sqlstrvarchar(4000)declare@sqlstr1varchar(4000)declare@sqlstr2varchar(4000)select@sqlstr='select''insert'+@tablenameselect@sqlstr1=''s...
数据库操作教程 2022-09-23 20:35:00 -
SqlServer基础知识数据检索、查询排序语句
复制代码代码如下:--执行顺序FromWhereSelectselect*from(selectsalassalary,commascommissionfromemp)xwheresalary<5000--得出NameWorkasaJobselectename+'Workasa'+jobasmsgfromempwheredeptno=10--如果员工工资小于2000返回UnderPaid大于等于4k返回OverPaid之间返回OKselectename,sal,casewhensal<2000then'UnderPaid'whensal>=4000then'OverPaid'else'OK'endfromemp--从表中随机返回N条记录newid()--orderby字句中指定数字常量时,是要求根据select列表中相应位置的列排序--orderby字句中用函数时,则按函数在没一行计算结果排序selecttop5enamefromemporderbynewid()--找空值isnullselect*fromempwherecommisnull--将空值转换为实际值--...
数据库操作教程 2022-09-23 20:34:51 -
SQL中exists的使用方法
有一个查询如下:复制代码代码如下:SELECTc.CustomerId,CompanyNameFROMCustomerscWHEREEXISTS(SELECTOrderIDFROMOrdersoWHEREo.CustomerID=cu.CustomerID)这里面的EXISTS是如何运作呢?子查询返回的是OrderId字段,可是外面的查询要找的是CustomerID和CompanyName字段,这两个字段肯定不在OrderID里面啊,这是如何匹配的呢?EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False。EXISTS指定一个子查询,检测行的存在...
数据库操作教程 2022-09-23 20:34:48