-
delete误删数据使用SCN号恢复(推荐)
问题描述:使用scn号恢复误删数据1.查询系统闪回的scn值以及当前日志的scn值,因为我这个是测试,创建的表是在在后边,所以scn值要大于下边这两个scn值,所以对我恢复数据没有用,如果我创建的数据是在下边这两个SCN值之前,也就是比这两个时间点SCN值小,就可以用这两个scn用来恢复数据,但是我下边这个实验创建的测试表晚,就不行了SQL>selectdbms_flashback.get_system_change_numberfromdual;SQL>selectcurrent_scnfromv$database;2.创建测试数据,SQL>createtableaa(idint,namevarchar2(10),adressvarchar2(10));SQL>insertintoaa2values(111,'steven','beijing');SQL>commit;3.这时候相当于数据创建完了,这之后的scn号码要知道,因为上边那两个scn号没有记录这个表的信息对我没用,如果现在查询current_scn号就有用了,这里测试我也不麻烦了,文档是参考的...
数据库操作教程 2022-09-23 20:43:35 -
SQLorderbyIDdesc/asc加一个排序的字段解决查询慢问题
解决方法就是在orderbyIDdesc再加一个排序的字段,这样子可能会把速度提高很多。再加止排序的字段因查询而异了如表复制代码代码如下:CREATETABLE[dbo].[CMPP_SendCentre]([id][int]IDENTITY(1,1)NOTNULL,[SendType][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL,[SendDate][datetime]NOTNULL,[Port][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,[Service_ID][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,[FeeType][varchar](2)COLLATEChinese_PRC_CI_ASNOTNULL,[FeeCode][varchar](6)COLLATEChinese_PRC_CI_ASNOTNULL,[Msg_Content][varchar](1024)COLLATEChinese_PRC_CI_ASNOTNULL,[SendCoun...
数据库操作教程 2022-09-23 20:43:21 -
sqlserver存储过程中SELECT与SET对变量赋值的区别
SQLServer推荐使用SET而不是SELECT对变量进行赋值。当表达式返回一个值并对一个变量进行赋值时,推荐使用SET方法...
数据库操作教程 2022-09-23 20:41:01 -
sqlserver对字段出现NULL值的处理
复制代码代码如下:-判断某些字段是否为空--caseselectcasewhen'字段名'isnullthen'N'elseconvert(varchar(20),'字段名')endas'NewName'selectcasewhennullisnullthen'N'elseconvert(varchar(20)...
数据库操作教程 2022-09-23 20:39:43 -
利用sys.sysprocesses检查SqlServer的阻塞和死锁
MSDN:包含正在SQLServer实例上运行的进程的相关信息。这些进程可以是客户端进程或系统进程...
数据库操作教程 2022-09-23 20:39:38 -
SQL入侵恢复xp_cmdshell方法总结
1433SQL入侵恢复xp_cmdshell方法总结sqlserver2005下开启xp_cmdshell的办法EXECsp_configure'showadvancedoptions',1;RECONFIGURE;EXECsp_configure'xp_cmdshell',1;RECONFIGURE;SQL2005开启'OPENROWSET'支持的方法:execsp_configure'showadvancedoptions',1;RECONFIGURE;execsp_configure'AdHocDistributedQueries',1;RECONFIGURE;SQL2005开启'sp_oacreate'支持的方法:execsp_configure'showadvancedoptions',1;RECONFIGURE;execsp_configure'OleAutomationProcedures',1;RECONFIGURE;突破SA的各种困难常见情况恢复执行xp_cmdshell1未能找到存储过程'master..xpcmdshell'.恢复方法:查询分离器连接后,第一步执行...
数据库操作教程 2022-09-23 20:38:52 -
SQL学习笔记三select语句的各种形式小结
复制代码代码如下:Select*fromT_EmployeeselectFName,FAgefromT_EmployeeselectFNamefromT_EmployeewhereFSalary<5000selectFNameas姓名,FAgeas年龄,FSalaryas月薪fromT_EmployeewhereFSalary<5000selectFNameas姓名,FAgeas年龄,FSalaryas月薪,getdate()as当前时间fromT_Employee3.3.1SELECT命令的格式与基本使用Ø数据查询是数据库中最常见的操作。ØSQL语言提供SELECT语句,通过查询操作可得到所需的信息...
数据库操作教程 2022-09-23 20:38:32 -
SQLserver查询数据类型为ntext是空或NULL值的方法
复制代码代码如下:--为空的值textntextselect*fromlf_newsNg_utfwheredatalength(newsContentE)=0ordatalength(newsContentE)isnull...
数据库操作教程 2022-09-23 20:38:31 -
删除Table表中的重复行的方法
利用SQLServer2005的新功能NOW_NUMBER和CTE可以很好的实现.举例说明如下:建立测试数据:复制代码代码如下:createtableDup1(Col1intnull,Col2varchar(20)null)insertintoDup1values(1,'aaa'),(2,'aaa'),(2,'aaa'),(2,'aaa'),(3,'bbb'),(3,'bbb'),(4,'ccc'),(4,'ddd'),(5,'eee')select*fromDup1可以查看到重复的数据有:复制代码代码如下:SELECTCol1,Col2,COUNT(*)ASDupCountFROMDup1GROUPBYCol1,Col2HAVINGCOUNT(*)>1接下来介绍如何delete掉重复的数据:1...
数据库操作教程 2022-09-23 20:37:16 -
SQL中WHERE变量ISNULL条件导致全表扫描问题的解决方法
复制代码代码如下:SET@SQL='SELECT*FROMCommentwith(nolock)WHERE1=1 And(@ProjectIdsIsNullorProjectId=@ProjectIds) And(@ScoresisnullorScore=@Scores)'印象中记得,以前在做Oracle开发时,这种写法是会导致全表扫描的,用不上索引,不知道SqlServer里是否也是一样呢,于是做一个简单的测试1、建立测试用的表结构和索引:复制代码代码如下:CREATETABLEaaa(idintIDENTITY,NAMEVARCHAR(12),ageINT)goCREATEINDEXidx_ageONaaa(age)GO2、插入1万条测试数据:复制代码代码如下:DECLARE@iINT;SET@i=0;WHILE@i<10000BEGIN INSERTINTOaaa(name,age)VALUES(CAST(@iASVARCHAR),@i) SET@i=@i+1;ENDGO3、先开启执行计...
数据库操作教程 2022-09-23 20:36:43 -
sqlserverUnion和SQLUnionAll使用方法
SQLUNION操作符UNION操作符用于合并两个或多个SELECT语句的结果集。请注意,UNION内部的SELECT语句必须拥有相同数量的列...
数据库操作教程 2022-09-23 20:36:16 -
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