-
SQLServer触发器及触发器中的事务学习
如果你有对触发器和事务的概念,有些了解,这篇文章,对你来说会是很简单,或能让你更进一步的了解触发器里面的一些故事,和触发器中事务个故事。在这边文章里面,我不会从触发器和事务的概念去讲述,而是从常见的两种触发器类型(DML触发器&DDL触发器)和After触发器& InsteadOf触发器的应用不同,开始说起它们,然后是说与事务有关的故事...
数据库操作教程 2022-09-23 20:41:11 -
sqlserver存储过程中SELECT与SET对变量赋值的区别
SQLServer推荐使用SET而不是SELECT对变量进行赋值。当表达式返回一个值并对一个变量进行赋值时,推荐使用SET方法...
数据库操作教程 2022-09-23 20:41:01 -
SQLServer获得用户最新或前n条订单的几种SQL语句小结
实现以上要求,我们可以用以下几种方式,但是效率却相差很远。首先我们在Order表中,创建一个索引:CREATEUNIQUEINDEXidx_eid_odD_oidDONOrders(EmployeeID,OrderDateDESC,OrderIDDESC) 多个OrderId是为了在OrderData相同的情况下,按订单号倒序,是个辅助属性...
数据库操作教程 2022-09-23 20:41:00 -
SQLSERVER服务手工启动批处理文件
不比2000有个开关的程序所以上网找了下教程自己写个批处理自动启动服务哇哈哈突然觉得只要有网络语言不是啥大的障碍写起来都差不多呀哇哈哈话说最近又加了个ORACLE的服务依然偷懒把原先的改改用吧哈哈就成这样了复制代码代码如下:@echooffecho开启SQLSERVER服务按1echo关闭SQLSERVER服务按2echo开启ORACLE服务按3echo关闭ORACLE服务按4set/pans= if%ans%==1gotosts if%ans%==2gotoovsif%ans%==3gotosto if%ans%==4gotoovo:staecho准备开启SQLSERVER服务netstartSQLWriternetstartReportServernetstartMsDtsServernetstartmsftesqlnetstartSQLBrowsernetstartMSSQLSERVEROLAPServicenetstartSQLSERVERAGENTnetstartMSSQL$SQLEXPRESSnetstartMSSQLSERVERgotoexit:ovsecho准备关...
数据库操作教程 2022-09-23 20:40:51 -
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函数substr使用简介
substr(string,1,3)函数解读:取string中重左往右取3字长的字符串。结果为:str从右往左呢?应该有另一个函数来提供这样的功能吧!事实上,从右往左也是这个函数只是参数的不同而已...
数据库操作教程 2022-09-23 20:40:22 -
SQLServer2016Alwayson新增功能图文详解
概述SQLServer2016发布版本到现在已有一年多的时间了,目前最新的稳定版本是SP1版本。接下来就开看看2016在Alwyson上做了哪些改进,记得之前我在写2014Alwayson的时候提到过几个需要改进的问题在2016上已经做了改进...
数据库操作教程 2022-09-23 20:40:18 -
获取SQLServer表字段的各种属性实例代码
复制代码代码如下:--SQLServer2000SELECTa.nameAS字段名,CASEWHENEXISTS(SELECT1FROMsysobjectsWHERExtype='PK'ANDparent_obj=a.idANDnameIN(SELECTnameFROMsysindexesWHEREindidIN(SELECTindidFROMsysindexkeysWHEREid=a.idANDcolid=a.colid)))THEN'1'ELSE'0'ENDAS主键,CASEWHENCOLUMNPROPERTY(a.id,a.name,'IsIdentity')=1THEN'1'ELSE'0'ENDAS标识,b.nameAS类型,a.lengthAS占用字节数,COLUMNPROPERTY(a.id,a.name,'PRECISION')AS长度,a.xscaleAS小数,a.isnullableAS可空,ISNULL(e.text,'')AS默认值,ISNULL(g.[value],'')AS字段说明FROMsyscolumnsaLEFTOUTERJOINsystypesbONa...
数据库操作教程 2022-09-23 20:40:11 -
SQLServer中的切割字符串SplitString函数
复制代码代码如下:SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGO/*bykudychen2011-9-28*/CREATEfunction[dbo].[SplitString](@Inputnvarchar(max),--inputstringtobeseparated@Separatornvarchar(max)=',',--astringthatdelimitthesubstringsintheinputstring@RemoveEmptyEntriesbit=1--thereturnvaluedoesnotincludearrayelementsthatcontainanemptystring)returns@TABLEtable([Id]intidentity(1,1),[Value]nvarchar(max))asbegindeclare@Indexint,@Entrynvarchar(max)set@Index=charindex(@Separator,@Input)while(@Index>0)beginset@Entry=ltr...
数据库操作教程 2022-09-23 20:40:07 -
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