-
SQLServer误区30日谈第20天破坏日志备份链之后,需要一个完整备份来重新开始日志链
误区#20:在破坏日志备份链之后,需要一个完整备份来重新开始日志链错误事务日志备份会备份自上次事务日志备份以来所有的事务日志(如果从来没有过日志备份的话,那就从上一次完整备份开始)。有好几种类型的操作会中断事务日志的连续性,也就是说除非重新开始新的日志链,SQLServer无法再进行日志备份...
数据库操作教程 2022-09-23 17:03:48 -
sql多条件组合查询,并根据指定类别找出所有最小子类别的SQL语句备忘
复制代码代码如下:DECLARE@PAGESIZEINTDECLARE@PAGEINDEXINTDECLARE@PAGECOUNTINTDECLARE@RECORDCOUNTINTSELECT@PAGESIZE=5SELECT@PAGEINDEX=1DECLARE@FIELDNAMEVARCHAR(50)DECLARE@FIELDVALUEVARCHAR(50)DECLARE@OPERATIONVARCHAR(50)--组合条件DECLARE@WHERENVARCHAR(1000)SELECT@WHERE='WHERENOTDISPLAY=0'DECLAREABCCURSORFORSELECTFIELDNAME,FIELDVALUE,OPERATIONFROMTBPARAMETERSOPENABCFETCHNEXTFROMABCINTO@FIELDNAME,@FIELDVALUE,@OPERATIONWHILE@@FETCH_STATUS=0BEGIN IF(@OPERATION='Like')  ...
数据库操作教程 2022-09-23 16:59:02 -
数据库高并发情况下重复值写入的避免字段组合约束
10线程同时操作,频繁出现插入同样数据的问题。虽然在插入数据的时候使用了:insertintitablename(fields....)select@t1,@t2,@t3fromtablenamewherenotexists(selectidfromtablenamewheret1=@t1,t2=@t2,t3=@t3)当时还是在高并发的情况下无效...
数据库操作教程 2022-09-23 16:57:38 -
union组合结果集时的order问题
近日,在一个项目中用到union组合两个select结果,调试sql时总是报错,所报错误也只是说在union附近有问题,因为sql中用到了group,我想也许是union不支持吧,由于时间紧,就先在程序中做了合并处理。但程序员对于代码的完美性要求总是不能放弃的,所以,常常会有如鲠在喉的感觉,不搞明白心里会不舒服...
数据库操作教程 2022-09-23 16:56:30 -
DBCCCHECKIDENT重置数据库标识列从某一数值开始
DBCCCHECKIDENT(N'dbo.Orders',RESEED,0);DBCCCHECKIDENT语法DBCCCHECKIDENT(table_name[,{NORESEED|{RESEED[,new_reseed_value]}}])[WITHNO_INFOMSGS]参数table_name是要对其当前标识值进行检查的表名。指定的表必须包含标识列...
数据库操作教程 2022-09-23 16:54:38 -
做购物车系统时利用到得几个sqlserver存储过程
即以游客身份登录网站时以cookie的方式存储购物车,而以登录用户的身份进入时将购物车信息存储到数据库中去...
数据库操作教程 2022-09-23 16:52:59 -
几个简单的基本的sql语句
说明:几个简单的基本的sql语句 选择:select*fromtable1where范围 插入:insertintotable1(field1,field2)values(value1,value2) 删除:deletefromtable1where范围 更新:updatetable1setfield1=value1where范围 查找:select*fromtable1wherefield1like'%value1%'---like的语法很精妙,查资料! 排序:select*fromtable1orderbyfield1,field2[desc] 总数:selectcount*astotalcountfromtable1 求和:selectsum(field1)assumvaluefromtable1 平均:selectavg(field1)asavgvaluefromtable1 最大:selectmax(field1)asmaxvaluefromtable1 最小:selectmin(field1)asminvaluefromtable1...
数据库操作教程 2022-09-23 16:52:50 -
SqlServer巧妙解决多条件组合查询
开发中经常会遇得到需要多种条件组合查询的情况,比如有三个表,年级表Grade(GradeId,GradeName),班级Class(ClassId,ClassName,GradeId),学员表Student(StuId,StuName,ClassId),现要求可以按年级Id、班级Id、学生名,这三个条件可以任意组合查询学员信息。 做法不止一种,这里提供一种巧妙的使用一条查询来实现的办法,我们来写成一个过程,如下:复制代码代码如下:createprocup_select_student_combocondition@gradeIdint,@classIdint,@stuNamenvarchar(10)asselects.*,c.classname,g.gradenamefromstudentsjoinclasscons.classid=c.classidjoingradegonc.gradeid=g.gradeidwhere(@gradeId=-1org.gradeid=@gradeId)and(@classId=-1orc.classid=@classId)and(@stuName='...
数据库操作教程 2022-09-23 16:49:59 -
oracle重置序列从指定数字开始的方法详解
重置oracle序列从指定数字开始复制代码代码如下:declarennumber(10);v_startnumnumber(10):=10000001;--从多少开始v_stepnumber(10):=1;--步进tsqlvarchar2(200);v_seqnamevarchar2(200):='MIP_JF_SEQUENCE';--序列名beginexecuteimmediate'select'||v_seqname||'.nextvalfromdual'inton;n:=v_startnum-n-v_step;--从10000001开始tsql:='altersequence'||v_seqname||'incrementby'||n;executeimmediatetsql;executeimmediate'select'||v_seqname||'.nextvalfromdual'inton;tsql:='altersequence'||v_seqname||'incrementby'||v_step;executeimmediatetsql;end; 不通过删除重...
数据库操作教程 2022-09-23 16:49:52 -
SqlServer2012分页方法分析(offsetandfetch)
其中offsetandfetch最重要的新特性是用来分页,既然要分析分页,就肯定要和之前的分页方式来比较了,特别是Row_Number()了,在比较过程中,发现了蛮多,不过最重要的,通过比较本质,得出了优劣,也和大家一起分享下。准备工作,建立测试表:Article_Detail,主要是用来存放一些文章信息,测试的时间,都是从网易上面转载的新闻,同时,测试表数据字段类型是比较均匀的,为了更好的测试,表结构如下图: 内容:数据量:129,991条记录语法分析1.NTILE()的分页方法NTILE()方法可以用来分页,但是应用场景十分的狭窄,并且性能差劲,和Row_Number()与offsetfetch分页比起来没有任何优势,也只有在只读表上面分页的话,还是比较合适的;虽然不好用,但是还能来分页的,所以只简单的介绍下...
数据库操作教程 2022-09-23 16:48:35 -
SQLServer2012在开发中的一些新特性
一、增加了Sequence对象。这个对于Oracle用户来说是最熟悉不过的数据库对象了,现在在SQLServer中终于也看到了类似的对象,只是在使用的语法上有一点点不一样...
数据库操作教程 2022-09-23 16:47:30