-
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 -
SQLSERVER对加密的存储过程、视图、触发器进行解密(推荐)
加密测试的存储过程IFEXISTS(SELECT1FROMSYSOBJECTSWHERETYPE='P'ANDNAME='P_TEST')DROPPROCEDUREP_TESTGOCREATEPROCEDUREP_TEST(@USERNAMEVARCHAR(20),@MSGVARCHAR(20)OUTPUT)WITHENCRYPTIONASBEGINIF(SELECTCOUNT(1)FROMCustsWHERENAME=@USERNAME)>0SET@MSG='此用户名存在'ELSESET@MSG='此用户名不存在'END解密的存储过程CreatePROCEDUREDecryption(@proceduresysname=NULL)ASSETNOCOUNTONDECLARE@intProcSpacebigint,@tbigint,@maxColIDsmallint,@procNameLengthintselect@maxColID=max(subobjid)FROMsys.sysobjvaluesWHEREobjid=object_id(@procedure)--select@m...
数据库操作教程 2022-09-23 20:40:33 -
用一句SQL解决SQL中断号问题推荐
名词解释 断号:比如,连续生成的编号,由于某种操作(通常为删除)后,产生不连续的编号,我们将这种不连续的编号称为断号。 例如,数据库中有一个字段叫合同编号,正常格式为201106_011(表示2011年6月的第11个合同),那么它前面的一个合同编号应该为201106_10,后面的一个应该为201106_12,当我们删除了合同201106_011,就会出现201106_010后面直接是201106_012,这种情况下叫做断号...
数据库操作教程 2022-09-23 20:38:03 -
自己收集比较强大的分页存储过程推荐
(下面的代码原来我想用折叠的代码的,但是在google里面老是添加不了折叠的代码,所以就整屏的贴出来了,望大家不要见外。)朋友的比较好的存储过程...
数据库操作教程 2022-09-23 20:33:10 -
SQL查询入门(上篇)推荐收藏
SQL语言是一门简单易学却又功能强大的语言,它能让你快速上手并写出比较复杂的查询语句。但对于大多数开发者来说,使用SQL查询数据库并没有一个抽象的过程和一个合理的步骤,这很可能会使在写一些特定的SQL查询语句来解决特定问题时被”卡”住,本系列文章主要讲述SQL查询时一些基本的理论,以及写查询语句的抽象思路...
数据库操作教程 2022-09-23 20:32:08 -
一些有用的sql语句整理推荐收藏
1、说明:创建数据库CREATEDATABASEdatabase-name2、说明:删除数据库dropdatabasedbname3、说明:备份sqlserver---创建备份数据的deviceUSEmasterEXECsp_addumpdevice'disk','testBack','c:mssql7backupMyNwind_1.dat'---开始备份BACKUPDATABASEpubsTOtestBack4、说明:创建新表createtabletabname(col1type1[notnull][primarykey],col2type2[notnull],..)根据已有的表创建新表:A:createtabletab_newliketab_old(使用旧表创建新表)B:createtabletab_newasselectcol1,col2…fromtab_olddefinitiononly5、说明:删除新表droptabletabname6、说明:增加一个列Altertabletabnameaddcolumncoltype注:列增加后将不能删除。DB2中列加上后数据类型也不能改变...
数据库操作教程 2022-09-23 20:25:32 -
推荐SQLServer重新恢复自动编号列的序号的sql代码
在sql server中经常有这样的问题: 一个表采用了自动编号的列之后,由于测试了好多数据,自动编号已累计了上万个。现在正是要用这个表了,测试数据已经删了,遗留下来的问题 就是 在录入新的数据,编号只会继续增加,已使用过的但已删除的编号就不能用了, 谁知道如何解决此问题? truncate命令不但会清除所有的数据,还会将IDENTITY的SEED的值恢复到原是值...
数据库操作教程 2022-09-23 20:15:30 -
大容量csv快速内导入sqlserver的解决方法(推荐)
前言在论坛中回答了一个问题,导入csv数据,并对导入的数据增加一个新的列datedatetime。要求在10s内完成,200w行数据的导入.分享下解决问题的思路和方法分析通常来讲Bulkinsert比BCP更快一点,我们选择Bulkinsert的方式...
数据库操作教程 2022-09-23 18:19:47 -
SqlServer数据库常用Transact-SQL脚本(推荐)
Transact-SQLTransact-SQL(又称T-SQL),是在MicrosoftSQLServer和SybaseSQLServer上的ANSISQL实现,与Oracle的PL/SQL性质相近(不只是实现ANSISQL,也为自身数据库系统的特性提供实现支持),在MicrosoftSQLServer和SybaseAdaptiveServer中仍然被使用为核心的查询语言。数据库1、创建数据库USEmaster;GOCREATEDATABASESalesON(NAME=Sales_dat,FILENAME='C:ProgramFilesMicrosoftSQLServerMSSQL13.MSSQLSERVERMSSQLDATAsaledat.mdf',SIZE=10,MAXSIZE=50,FILEGROWTH=5)LOGON(NAME=Sales_log,FILENAME='C:ProgramFilesMicrosoftSQLServerMSSQL13.MSSQLSERVERMSSQLDATAsalelog.ldf',SIZE=5MB,MAXSIZE=25MB,FILEGROWTH=...
数据库操作教程 2022-09-23 18:08:00 -
SQLSERVER中SELECT和SET赋值相同点与不同点(推荐)
SELECT和SET在SQLSERVER中都可以用来对变量进行赋值,但其用法和效果在一些细节上有些不同。1.在对变量赋值方面,SET是ANSI标准的赋值方式,SELECT则不是...
数据库操作教程 2022-09-23 18:05:51 -
sql随机抽取几条数据的方法推荐
传说用这个语句管用:selecttop5*fromtablenameorderbynewid()我放到sql的查询分析器里去执行果然管用,随机抽取5条信息,不停的换,结果我应用到程序里的时候就不管用了,总是那几条,于是对这个东西进行了一个研究得出另一种方法:newid()可以产生如:"49869293-8891-4B31-B88E-A584D9621490”这样的数据结果,而且每一行产生的都不同,这样的话,我们就可以在查询的时候给结果集里加上这么一个列,比如:select*,newsid()from表名然后我们在给这个结果集排序,因为每次newid()所产生的值都不同,所以如果排序的话,每次当然也都不一样,这样我们就可以随机挑选几条数据了,那我们在从前面加上一个top语句就变成了:复制代码代码如下:selecttop10*,NewID()asrandomfrom表名orderbyrandom用这样的方法就可以得到。我们想要结果了...
数据库操作教程 2022-09-23 17:01:31