-
简单触发器的使用献给SQL初学者
首先,啰嗦几句废话如下: (1)触发器(trigger)是个特殊的存储过程,它的执行并不需要我们去显式调用,而是由一些事件触发,这有点类似C#中的事件处理机制。当使用UPDATE,INSERT 或DELETE的一种或多种对指定的数据库的相关表进行操作时,会触发触发器...
数据库操作教程 2022-09-23 20:38:55 -
SQLServer使用ADSI执行分布式查询ActiveDorectory对象
Step1:CreatingaLinkedServer.EXECsp_addlinkedserver'ADSI','ActiveDirectoryServices2.5','ADSDSOObject','adsdatasource'Step2:CreatingaSQLServerAuthenticatedLoginEXECsp_addlinkedsrvlogin@rmtsrvname=N'ADSI',@locallogin=NULL,@useself=N'False',@rmtuser=N'domainAccount',@rmtpassword=N'Password'对于SQLServer授权登录,可以使用sp_addlinkedsrvlogin系统存储过程配置用于连接到目录服务的适当的登录/密码.参考这里:http://blogs.msdn.com/euanga/archive/2007/03/22/faq-how-do-i-query-active-directory-from-sql-server.aspx如果SQLServer使用Windows授权登录,只需自映射就足以通过使用...
数据库操作教程 2022-09-23 20:36:34 -
sqlserverUnion和SQLUnionAll使用方法
SQLUNION操作符UNION操作符用于合并两个或多个SELECT语句的结果集。请注意,UNION内部的SELECT语句必须拥有相同数量的列...
数据库操作教程 2022-09-23 20:36:16 -
通过SQL语句直接把表导出为XML格式
首先建立一张表:复制代码代码如下:USE[ip]GO/******对象:Table[dbo].[SiteData]脚本日期:09/11/201017:41:11******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOSETANSI_PADDINGONGOCREATETABLE[dbo].[SiteData]([id][int]IDENTITY(1,1)NOTNULL,[SiteName][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,[SiteAdd][varchar](100)COLLATEChinese_PRC_CI_ASNOTNULL,[BaiduSort][int]NOTNULLCONSTRAINT[DF_SiteData_BaiduSort]DEFAULT((0)),[BaiduShouLu][int]NOTNULLCONSTRAINT[DF_SiteData_BaiduShouLu]DEFAULT((0)),CONSTRAINT[PK_SiteData]PRIMARYKEYCLUSTERED(...
数据库操作教程 2022-09-23 20:36:07 -
几个扩展存储过程使用方法
SQLServer中包含了几个可以访问系统注册表的扩展存储过程.但实际上这几个扩展存储过程是未公开的,从sqlserver7.0就有了,在SQLserver2000中仍然保留,他们以后可能会删除.但是这几个存储过程却提供了在当前的SQLServer版本中访问系统注册表的能力,而且很多人利用SQLServer来进行攻击系统时,往往都会用到这几个扩展存储过程.所以最好在SQLServer中禁用他们.xp_regenumvalues以多个记录集方式返回所有键值使用方法:xp_regenumvalues注册表根键,子键比如说,想看看HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun的所有键值:usemasterexecxp_regenumvalues'HKEY_LOCAL_MACHINE','SOFTWAREMicrosoftWindowsCurrentVersionRun'execxp_regenumvalues'HKEY_LOCAL_MACHINE','SYSTEMRAdminv2.0ServerParameters'xp...
数据库操作教程 2022-09-23 20:35:02 -
SQL中exists的使用方法
有一个查询如下:复制代码代码如下:SELECTc.CustomerId,CompanyNameFROMCustomerscWHEREEXISTS(SELECTOrderIDFROMOrdersoWHEREo.CustomerID=cu.CustomerID)这里面的EXISTS是如何运作呢?子查询返回的是OrderId字段,可是外面的查询要找的是CustomerID和CompanyName字段,这两个字段肯定不在OrderID里面啊,这是如何匹配的呢?EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False。EXISTS指定一个子查询,检测行的存在...
数据库操作教程 2022-09-23 20:34:48 -
根据表名和索引获取需要的列名的存储过程
复制代码代码如下:createprocp_sword_getblcolumn(@tblNamevarchar(200),@fromIndexint,@toIndexint,@columnNamevarchar(3000)output)asbegindeclare@tempColumnvarchar(3000)declare@errMsgvarchar(200)declare@iintset@i=1set@columnName=''set@errMsg=''declaretempColumnCurcursorforselectsyscolumns.namefromsyscolumnsjoinsysobjectsonsyscolumns.id=sysobjects.idwheresysobjects.name=@tblNameorderbysyscolumns.colorderopentempColumnCurfetchnextfromtempColumnCurinto@tempColumnwhile@@FETCH_STATUS=0beginif(@fromIndex=0and@toInd...
数据库操作教程 2022-09-23 20:33:40 -
通过T-SQL语句实现数据库备份与还原的代码
--利用T-SQL语句,实现数据库的备份与还原的功能----体现了SQLServer中的四个知识点:----1.获取SQLServer服务器上的默认目录----2.备份SQL语句的使用----3.恢复SQL语句的使用,同时考虑了强制恢复时关闭其他用户进程的处理----4.作业创建SQL语句的使用/*1.--得到数据库的文件目录@dbname指定要取得目录的数据库名如果指定的数据不存在,返回安装SQL时设置的默认数据目录如果指定NULL,则返回默认的SQL备份目录名*//*--调用示例select数据库文件目录=dbo.f_getdbpath('tempdb'),[默认SQLSERVER数据目录]=dbo.f_getdbpath(''),[默认SQLSERVER备份目录]=dbo.f_getdbpath(null)--*/ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[f_getdbpath]')andxtypein(N'FN',N'IF',N'TF'))dropfunction[dbo].[f_getdbpath...
数据库操作教程 2022-09-23 20:33:36 -
SQL集合函数中casewhenthen使用技巧
那么在集合函数中它有什么用呢 ?假设数据库有一张表名为student的表。如果现在要你根据这张表,查出江西省男女个数,广东省男生个数,浙江省男女个数怎么写SQL语句?即要生成下结果表答案是:selectsex,count(caseprovincewhen'广东省'then'广东省'end)as广东省,count(caseprovincewhen'江西省'then'江西省'end)as江西省,count(caseprovincewhen'浙江省'then'浙江省'end)as浙江省fromstudentgroupbysexcount()函数即根据给定的范围和groupby(统计方式)而统计行数据的条数我们一步步来理解上面语句1. selectsex fromstudent(查询数据表中的存在的男女条数)2.selectsex,count(*)asnumfromstudentgroupbysex (查询表中男女数量)3.selectsex,province,count(*)asnumfromstudentgroupbysex,province(查询各...
数据库操作教程 2022-09-23 20:32:47 -
sqlserver多库查询sp_addlinkedserver使用方法(添加链接服务器)
Execsp_droplinkedsrvloginZYB,Null--删除映射(录与链接服务器上远程登录之间的映射)Execsp_dropserverZYB--删除远程服务器链接EXECsp_addlinkedserver@server='ZYB',--被访问的服务器别名@srvproduct='',@provider='SQLOLEDB',@datasrc="/Server2"--要访问的服务器EXECsp_addlinkedsrvlogin'ZYB',--被访问的服务器别名'false',NULL,'sa',--帐号'sa'--密码使用实例:Select*fromZYB.CDCenter20110822...
数据库操作教程 2022-09-23 20:32:35 -
sqlserver局部变量的使用
A.使用DECLARE下例使用名为@find的局部变量检索所有姓以Ring开头的作者信息。复制代码代码如下:Usepubsdeclare@findvarchar(30)set@find='Ring%'selectau_lname,au_fname,phonefromauthorswhereau_lnamelike@find@find就是一个局部变量...
数据库操作教程 2022-09-23 20:32:23 -
SQL学习笔记六union联合结果集使用
联合结果集新建临时工数据表复制代码代码如下:CREATETABLET_TempEmployee(FIdCardNumberVARCHAR(20),FNameVARCHAR(20),FAgeint,PRIMARYKEY(FIdCardNumber));INSERTINTOT_TempEmployee(FIdCardNumber,FName,FAge)VALUES('1234567890121','Sarani',33);INSERTINTOT_TempEmployee(FIdCardNumber,FName,FAge)VALUES('1234567890122','Tom',26);INSERTINTOT_TempEmployee(FIdCardNumber,FName,FAge)VALUES('1234567890123','Yalaha',38);INSERTINTOT_TempEmployee(FIdCardNumber,FName,FAge)VALUES('1234567890124','Tina',26);INSERTINTOT_TempEmployee(FIdCardNumb...
数据库操作教程 2022-09-23 20:31:05