-
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 -
错误22022SQLServerAgent当前未运行的解决方法
SQLserver代理已经启动了,服务里的SQLServerAgent响应服务也已经开启了但是启动作业的时候还是提示“错误22022:SQLServerAgent当前未运行,因此,无法就本操作对其进行提示。”有高人遇到过这个问题吗?怎么解决能给个方法吗?SQLServerAgent这个服务已经启动了“控制面板-》管理->服务->SQLSERVERAGENT->设置为自动启动”---这个已经这是好了但是问题依然存在,一启动作业就会提示:错误22022:SQLServerAgent当前未运行,因此,无法就本操作对其进行提示...
数据库操作教程 2022-09-23 20:34:34 -
用SQL语句添加删除修改字段、一些表与字段的基本操作、数据库备份等
用SQL语句添加删除修改字段1.增加字段altertabledocdspadddspcodechar(200)2.删除字段ALTERTABLEtable_NAMEDROPCOLUMNcolumn_NAME3.修改字段类型ALTERTABLEtable_nameALTERCOLUMNcolumn_namenew_data_type4.sp_rename改名更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。语法sp_rename[@objname=]'object_name',[@newname=]'new_name'[,[@objtype=]'object_type']如:EXECsp_rename'newname','PartStock'5.sp_help显示表的一些基本情况sp_help'object_name'如:EXECsp_help'PartStock'6.判断某一表PartStock中字段PartVelocity是否存在ifexists(select*fromsyscolumnswhereid=object_id('PartStock')andname='Pa...
数据库操作教程 2022-09-23 20:34:32 -
SQL语句练习实例之一——找出最近的两次晋升日期与工资额
复制代码代码如下:--程序员们在编写一个雇员报表,他们需要得到每个雇员当前及历史工资状态的信息,--以便生成报表。报表需要显示每个人的晋升日期和工资数目...
数据库操作教程 2022-09-23 20:34:11 -
记一次成功的sql注入入侵检测附带sql性能优化
但是如果是让你接手一个二等残废的网站,并让你在上面改版,而且不能推翻式改版,只能逐步替换旧的程序,那么你会非常痛苦,例如我遇到的问题:问题1.老板对你说,以前刚做完网站好好了,没有出现木马,怎么你来了,就会出现木马,先别说了,赶紧解决问题,我彻底无语,但是如果争吵,其实证明你和老板一样无知,拿出证据和事实分析来让公司其他稍微懂技术的一起来证明,公司网站被挂马不是你来了的错。如是我通过网站目录仔细排查将通过fck上传的网马删除并修补fck的上传漏洞并记下了这篇Fckeditor使用笔记,其实很多人都遇到过,也解决过,都是小问题,但是让你老板明白比解决漏洞问题更蛋疼,我那解释的叫一个汗啊,恨不得把公司所有稍微懂点技术的都叫上让他们看什么是大马什么是小马,然后演示怎么上传木马,奶奶的,黑客教程普及啊...
数据库操作教程 2022-09-23 20:34:06 -
sqlserver统计sql语句大全收藏
1.计算每个人的总成绩并排名selectname,sum(score)asallscorefromstuscoregroupbynameorderbyallscore2...
数据库操作教程 2022-09-23 20:33:56 -
sqlserverreplace函数批量替换数据库中指定字段内指定字符串参考方法
语法REPLACE('string_expression1','string_expression2','string_expression3')参数说明'string_expression1'待搜索的字符串表达式。string_expression1可以是字符数据或二进制数据...
数据库操作教程 2022-09-23 20:33:52 -
mssql存储过程表名和字段名为变量的实现方法
没有使用动态语句直接报错错误的复制代码代码如下:alterproctestpapersasbegindeclare@temsnvarchar(max),@zidaunnvarchar(max)set@tems=select*from@temsorderby@zidaunexec(@tems)endexectestpapers消息156,级别15,状态1,过程testpapers,第1行关键字'select'附近有语法错误。消息1087,级别15,状态2,过程testpapers,第1行必须声明表变量"@tems"...
数据库操作教程 2022-09-23 20:33:48