-
SQLServer中使用Trigger监控存储过程更改脚本实例
下面的Trigger用于监控存储过程的更改。 创建监控表: CREATETABLEAuditStoredProcedures(DatabaseNamesysname,ObjectNamesysname,LoginNamesysname,ChangeDatedatetime,EventTypesysname,EventDataXmlxml);创建监控Trigger:CREATETRIGGERdbtAuditStoredProceduresONDATABASEFORCREATE_PROCEDURE,ALTER_PROCEDURE,DROP_PROCEDUREASDECLARE@eventdataXML;SET@eventdata=EVENTDATA();INSERTINTOAuditStoredProcedures(DatabaseName,ObjectName,LoginName,ChangeDate,EventType,EventDataXml)VALUES(@eventdata.value('(/EVENT_INSTANCE/DatabaseName)[1]','...
数据库操作教程 2022-09-23 17:37:50 -
SQLSERVER使用ODBC驱动建立的链接服务器调用存储过程时参数不能为NULL值
我们知道SQLSERVER建立链接服务器(LinkedServer)可以选择的驱动程序非常多,最近发现使用ODBC的MicrosoftOLEDB驱动程序建立的链接服务器(LinkedServer),调用存储过程过程时,参数不能为NULL值。否则就会报下面错误提示:对应的英文错误提示为:EXECxxx.xxx.dbo.Usp_TestNULL,NULL,'ALL'Msg7213,Level16,State1,Line1Theattemptbytheprovidertopassremotestoredprocedureparameterstoremoteserver'xxx'failed.Verifythatthenumberofparameters,theorder,andthevaluespassedarecorrect.对应的中文错误提示为:EXECxxx.xxx.dbo.Usp_TestNULL,NULL,'ALL'Msg7213,Level16,State1,Line1提供程序将远程存储过程参数传递给远程服务器'xxx'的尝试失败...
数据库操作教程 2022-09-23 17:35:04 -
sql存储过程详解
1,不带参数的存储过程2,带输入参数的存储过程3,带输入和输出参数的存储过程4,带返回值的存储过程不带参数的存储过程例如,以下存储过程返回Employees表中所有职员的记录。存储过程代码:USETSQLFundamentals2008;GOIFOBJECT_ID('usp_ProcDemoNoParam','P')ISNOTNULLDROPPROCusp_ProcDemoNoParam;GO--1,不带参数CREATEPROCusp_ProcDemoNoParamASBEGINSELECT*FROMHR.Employees;ENDGO调用代码:USETSQLFundamentals2008;GO--1,不带参数存储过程的调用EXECusp_ProcDemoNoParam;结果:可以看到,共返回了9条记录...
数据库操作教程 2022-09-23 17:34:26 -
谈谈sqlserver自定义函数与存储过程的区别
一、自定义函数: 1.可以返回表变量 2.限制颇多,包括 不能使用output参数; 不能用临时表; 函数内部的操作不能影响到外部环境; 不能通过select返回结果集; 不能update,delete,数据库表; 3.必须return一个标量值或表变量 自定义函数一般用在复用度高,功能简单单一,争对性强的地方。二、存储过程 1.不能返回表变量 2.限制少,可以执行对数据库表的操作,可以返回数据集 3.可以return一个标量值,也可以省略return 存储过程一般用在实现复杂的功能,数据操纵方面...
数据库操作教程 2022-09-23 17:33:54 -
动态给表添加删除字段并同时修改它的插入更新存储过程
有一个表,用户需要在后台操作它,希望能对它动态进行添加删除字段。这个功能也许没有问题,但是它原有插入与更新的两个存储过程,也需要一起修改...
数据库操作教程 2022-09-23 17:32:57 -
深入分析SQLServer存储过程
Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用。当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句...
数据库操作教程 2022-09-23 17:32:32 -
浅析SQLServer中包含事务的存储过程
先来看一个概念: 数据库事务(DatabaseTransaction),是指作为单个逻辑工作单元执行的一系列操作,要么完整地执行,要么完全地不执行。那么在存储过程里添加事务,则可以保证该事务里的所有sql代码要么完全执行要么完全不执行...
数据库操作教程 2022-09-23 17:30:03 -
SQLServer数据库中的存储过程介绍
什么是存储过程如果你接触过其他的编程语言,那么就好理解了,存储过程就像是方法一样。竟然他是方法那么他就有类似的方法名,方法要传递的变量和返回结果,所以存储过程有存储过程名有存储过程参数也有返回值...
数据库操作教程 2022-09-23 17:30:01 -
三种SQL分页查询的存储过程代码
复制代码代码如下:--根据MAX(MIN)IDCREATEPROC[dbo].[proc_select_id]@pageindexint=1,--当前页数@pagesizeint=10,--每页大小@tablenameVARCHAR(50)='',--表名@fieldsVARCHAR(1000)='',--查询的字段集合@keyidVARCHAR(50)='',--主键@conditionNVARCHAR(1000)='',--查询条件@orderstrVARCHAR(500),--排序条件@totalRecordBIGINTOUTPUT--总记录数ASIFISNULL(@orderstr,N'')=N''SET@orderstr=N'ORDERBY'+@keyid+N'DESC'IFISNULL(@fields,N'')=N''SET@fields=N'*'IFISNULL(@condition,N'')=N''SET@condition=N'1=1'DECLARE@sqlNVARCHAR(4000)--IF(@totalRecordISNULL)--BEGINSET@sql=N'S...
数据库操作教程 2022-09-23 17:29:47 -
一次性压缩Sqlserver2005中所有库日志的存储过程
有没有办法更快一点?有没有办法一次性收缩所有数据库?复制代码代码如下:alterdatabase数据库名setrecoverysimplegodbccshrinkdatabase(数据库名)goalterdatabase数据库名setrecoveryfullgo目前也有压缩日志的工具,一个B/S界面形式的操作压缩数据库的...
数据库操作教程 2022-09-23 17:28:52 -
SQLServer用存储过程实现插入更新数据示例
实现1)有相同的数据,直接返回(返回值:0);2)有主键相同,但是数据不同的数据,进行更新处理(返回值:2);3)没有数据,进行插入数据处理(返回值:1)。【创建存储过程】CreateprocInsert_Update@Idvarchar(20),@Namevarchar(20),@Telephonevarchar(20),@Addressvarchar(20),@Jobvarchar(20),@returnValueintoutputasdeclare@tmpNamevarchar(20),@tmpTelephonevarchar(20),@tmpJobvarchar(20),@tmpAddressvarchar(20)ifexists(select*fromdbo.DemoDatawhereid=@Id)beginselect@tmpName=Name,@tmpTelephone=Telephone,@tmpAddress=Address,@tmpJob=Jobfromdbo.DemoDatawhereid=@Idif((@tmpName=@Name)and(@tmpTelepho...
数据库操作教程 2022-09-23 17:26:55 -
SQLServer2005创建简单的存储过程--总结分析
最近由于工作需要,简单了解了下SQLServer2005数据库创建简单的在存储过程。一、首先说明如何创建存储过程:CREATEPROCEDUERmy_pro@inputDatevarchar,//声明输入变量@Resultvarchar(255)output//声明输出变量ASdeclare@variable1varchar(255)//声明varchar变量declare@variable2int//声明整形变量BEGINIF...(条件)BEGIN....(执行内容)ENDELSEBEGIN....(执行内容)ENDEND以上就是创建一个简单的存储过程方法...
数据库操作教程 2022-09-23 17:25:54