-
sqlserver中通过osql/ocmd批处理批量执行sql文件的方法
利用osql/ocmd批处理批量执行sql文件注意:在上图中我们可以看到osql并不支持SQLServer2008的所有功能,如果需要使用SQLServer2008的所有功能可以使用ocmd命令。有了osql/ocmd命令要批量执行sql文件当然需要写一个批处理命令,例如我们执行上面sql文件就可以在txt中编写下面的语句:复制代码代码如下:osql-S"127.0.0.1"-U"sa"-P"sa"-d"Northwind"-i"%CD%/1.sql"osql-S"127.0.0.1"-U"sa"-P"sa"-d"Northwind"-i"%CD%/2.sql"然后保存成sql.bat同上面的1.sql和2.sql放到同一个文件下,在执行时双击sql.bat就可以了...
数据库操作教程 2022-09-23 20:41:36 -
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语句练习实例之五WMS系统中的关于LIFO或FIFO的问题分析
复制代码代码如下:---在仓储管理中经常会碰到的一个问题一、关于LIFO与FIFO的简单说明---FIFO:Firstin,Firstout.先进先出。---LIFO:Lastin,Firstout.后进先出...
数据库操作教程 2022-09-23 20:40:01 -
sqlserver千万数量级分页存储过程代码
复制代码代码如下:setANSI_NULLSONsetQUOTED_IDENTIFIERONgoCreatePROCEDURE[dbo].[SP_Pagination]/**//******************************************************************千万数量级分页存储过程*****************************************************************参数说明:1...
数据库操作教程 2022-09-23 20:38:46 -
SQL语句练习实例之六人事系统中的缺勤(休假)统计
复制代码代码如下:---这是一个人事系统中的示例,要求记录一下员工的缺勤情况---1.要在表中记录一下缺勤计分,是对经常缺勤者的一种处罚性计分---规则:---1.如果员工在一年内的缺勤计分达到50,就会可以解雇该员工。---2.如果员工缺勤连续超过一天,就视为长病假,这时,第二天,第三天及以后的天数都不会统计该员工的缺勤计分----这些天也不算为缺勤...
数据库操作教程 2022-09-23 20:36:11 -
通过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 -
SQL语句练习实例之四找出促销活动中销售额最高的职员
复制代码代码如下:---找出促销活动中销售额最高的职员---你刚在一家服装销售公司中找到了一份工作,此时经理要求你根据数据库中的两张表得到促销活动销售额最高的销售员---1.一张是促销活动表---2.一张是销售客列表createtablePromotions(activitynvarchar(30),sdatedatetime,edatedatetime)insertPromotionsselect'五一促销活动','2011-5-1','2011-5-7'unionselect'十一促销活动','2011-10-1','2011-10-7'unionselect'OA专场活动','2011-6-1','2011-6-7'gocreatetablesales(idintnotnull,namenvarchar(20),saledatedatetime,pricemoney)goinsertsalesselect1,'王五','2011-5-1',1000unionselect1,'王五','2011-5-2',2000unionselect1,'王五','2011-5-3',3000u...
数据库操作教程 2022-09-23 20:35:11 -
SQL语句练习实例之一——找出最近的两次晋升日期与工资额
复制代码代码如下:--程序员们在编写一个雇员报表,他们需要得到每个雇员当前及历史工资状态的信息,--以便生成报表。报表需要显示每个人的晋升日期和工资数目...
数据库操作教程 2022-09-23 20:34:11 -
通过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语句的执行计划优化SQL
如何干预执行计划--使用hints提示基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担。但有时它也聪明反被聪明误,选择了很差的执行计划,使某个语句的执行变得奇慢无比...
数据库操作教程 2022-09-23 20:30:58 -
SQL语句练习实例之七剔除不需要的记录行
复制代码代码如下:--相信大家肯定经常会把数据导入到数据库中,但是可能会有些记录行的所有列的数据是null,这为null的数据是我们不需要--现在需要一个简单的查询来剔除掉这些为null的记录行。--假设表名为emplyees--方法1.---先把数据导入到数据库---其次:select*fromsys.columnswhereobject_id=(selectobject_idfromsys.objectswherename='EMPLYEEs')---方法2---使用数据库提供的函数execsp_columns'Employees'deletefromEmployeeswherecoalesce(status,tel,gwei,ADDRESS1,address2,nwei)isnull...
数据库操作教程 2022-09-23 20:30:03 -
SQL语句练习实例之二——找出销售冠军
复制代码代码如下:--销售冠军--问题:在公司中,老板走进来,要一张每个地区销量前3名的销售额与销售员的报表---createtablesalesdetail(Areaintnotnull,Salernvarchar(20)notnull,SalerIdintnotnull,Salesmoneynotnull)insertsalesdetailselect1,'张三',15,3000unionselect1,'赵一',16,3500unionselect1,'钱二',17,4000unionselect1,'孙三',18,5000unionselect1,'李四',19,5000unionselect1,'王五',11,7000unionselect2,'周边一',25,3000unionselect2,'李白',22,4000unionselect2,'张镇东',23,6000unionselect2,'李宁',24,1000unionselect3,'李斯',35,3000unionselect3,'李勇',33,2000unionselect4,'李逵',44,5000union...
数据库操作教程 2022-09-23 20:29:35