-
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 -
在SQL查询中使用LIKE来代替IN查询的方法
如下:复制代码代码如下:SELECT*FROMOrdersWHEREOrderGUIDIN('BC71D821-9E25-47DA-BF5E-009822A3FC1D','F2212304-51D4-42C9-AD35-5586A822258E')可以看出直接在IN后面跟ID的集合需要将每一个ID都用单引号引起来。在实际应用中会遇到这么一种情况,在界面中收集的是一串GUID的拼接字符串,中间以逗号隔开,如果作为参数传到一个存储过程中执行,最终生成的语句会是下面这样:复制代码代码如下:SELECT*FROMOrdersWHEREOrderGUIDIN('BC71D821-9E25-47DA-BF5E-009822A3FC1D,F2212304-51D4-42C9-AD35-5586A822258E')这样就不能查询到正确的结果...
数据库操作教程 2022-09-23 20:41:31 -
sqlserver下将数据库记录的列记录转换成行记录的方法
假设有张学生成绩表(tb)如下:NameSubjectResult张三语文 74张三数学 83张三物理 93李四语文 74李四数学 84李四物理 94想变成姓名语文数学物理-------------------------------------------李四748494张三748393SQL语句如下:复制代码代码如下:createtabletb(Namevarchar(10),Subjectvarchar(10),Resultint)insertintotb(Name,Subject,Result)values('张三','语文',74)insertintotb(Name,Subject,Result)values('张三','数学',83)insertintotb(Name,Subject,Result)values('张三','物理',93)insertintotb(Name,Subject,Result)values('李四','语文',74)insertintotb(Name,Subject,Result)values('李四','数学',84)insertin...
数据库操作教程 2022-09-23 20:41:23 -
在数据库‘master’中拒绝CREATEDATABASE权限问题的解决方法
复制代码代码如下:publicpartialclassCMS_DBDataContext{partialvoidOnCreated(){//如果数据库不存在则创建数据库if(!this.DatabaseExists()){this.CreateDatabase();}}}遇到了以下错误:在数据库‘master'中拒绝CREATEDATABASE权限。经查阅资料得知,运行SQLServer数据库,就必须在实例下创建数据库,不管是直接创建、还是附加、还是还原,总之都得在实例下创建...
数据库操作教程 2022-09-23 20:39:32 -
ADO.NETEF中的实体修改方法
1.传统修改模式,看下列代码复制代码代码如下:using(NorthwindEntitiescontext=newNorthwindEntities()){Regionregion=context.Region.FirstOrDefault(v=>v.RegionID==4);region.RegionDescription="Test";context.SaveChanges();}监控SQL语句:复制代码代码如下:SQL1:SELECTTOP1[Extent1].[RegionID]AS[RegionID],[Extent1].[RegionDescription]AS[RegionDescription]FROM[dbo].[Region]AS[Extent1]WHERE4=[Extent1].[RegionID]SQL2:execsp_executesqlN'update[dbo].[Region]set[RegionDescription]=@0where([RegionID]=@1)',N'@0nchar(4),@1int',@0=N'Test',@1=4从这里例子中...
数据库操作教程 2022-09-23 20:39:04 -
SQL入侵恢复xp_cmdshell方法总结
1433SQL入侵恢复xp_cmdshell方法总结sqlserver2005下开启xp_cmdshell的办法EXECsp_configure'showadvancedoptions',1;RECONFIGURE;EXECsp_configure'xp_cmdshell',1;RECONFIGURE;SQL2005开启'OPENROWSET'支持的方法:execsp_configure'showadvancedoptions',1;RECONFIGURE;execsp_configure'AdHocDistributedQueries',1;RECONFIGURE;SQL2005开启'sp_oacreate'支持的方法:execsp_configure'showadvancedoptions',1;RECONFIGURE;execsp_configure'OleAutomationProcedures',1;RECONFIGURE;突破SA的各种困难常见情况恢复执行xp_cmdshell1未能找到存储过程'master..xpcmdshell'.恢复方法:查询分离器连接后,第一步执行...
数据库操作教程 2022-09-23 20:38:52 -
SQLserver查询数据类型为ntext是空或NULL值的方法
复制代码代码如下:--为空的值textntextselect*fromlf_newsNg_utfwheredatalength(newsContentE)=0ordatalength(newsContentE)isnull...
数据库操作教程 2022-09-23 20:38:31 -
sql复制表结构和数据的实现方法
SQLSERVER中使用SELECT…INTO语句按照使用场合可以分为以下几类:1.实现全表备份:如:SELECT*INOTt1FROMtitles2.备份表的一部分列(不写*而写出列的列表)或一部分行(加WHERE条件)如:SELECTtitle_id,title,priceINTOt2FROMtitles—部分列SELECT*INTOt2FROMtitlesWHREEprice>10–部分行SELECTtitle_id,title,priceINTOt2FROMtitlesWHREEprice>10–部分行和部分列3.只复制表的结构:SELECT*INTOtablename_newFROMtablename_old如:SELECT*INOTt1FROMtitlesWHERE1=24.查询结果来源于多个表:如:SELECTtitle_id,title,pub_nameINTOt3FROMtitlestINNERJOINpublisherspONt.pub_id=p.pub_id5.select*into要复制到的数据库名.DBO.表名from原数据库名.DBO.表名从ne...
数据库操作教程 2022-09-23 20:38:11 -
SQLServer数据导入导出的几种方法小结
1.SQLServer导入导出向导,这种方式是最方便的.导入向导,微软提供了多种数据源驱动,包括SQLServerNativeCliant,OLEDBForOracle,FlatFileSource,Access,Excel,XML等,基本上可以满足系统开发的需求.同样导出向导也有同样多的目的源驱动,可以把数据导入到不同的目的源.对数据库管理人员来说这种方式简单容易操作,导入时SQLServer也会帮你建立相同结构的Table.2.用.NET的代码实现(比如有一个txt或是excel的档案,到读取到DB中)2.1最为常见的就是循环读取txt的内容,然后一条一条的塞入到Table中.这里不再赘述.2.2集合整体读取,使用OLEDB驱动.代码如下:复制代码代码如下:stringstrOLEDBConnect=@"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:1;ExtendedProperties='text;HDR=Yes;FMT=Delimited'";OleDbConnectionconn=newOleDbConnection(strOL...
数据库操作教程 2022-09-23 20:38:01 -
自动定时备份sqlserver数据库的方法
下面是我已经证实可用的自动备份的方法.1、打开企业管理器->管理->sqlserver代理2、新建一个作业,作业名称随便取,例如:data备份,所有者选择sa,当然你也可以选择其他用户,前提是该用户有执行作业的权限;3、点击步骤标签,进入步骤面板.新建步骤,步骤名可以随便填写,如步骤1,类型和数据库默认,不需要修改.命令中写入以下语句:BACKUPDATABASE[数据库名]TODISK=N'F:databackfirenews备份'WITHNOINIT,NOUNLOAD,NAME=N'firenews备份',NOSKIP,STATS=10,NOFORMAT注意:需要修改的地方,数据库名,DISK=(这里需要填写路径和你的数据库备份的名称)后面的Name=可以随便填写.4、点击调度标签,进入调度面板,新建调度,名称随便填写,选择反复出现,点更改可以选择你想要执行任务的随意调度.如每天,每2天,每星期,每月等.根据需要自己设置;(注意:在调度名称后面有个启动选项,必须勾选)5、确定后,不要忘记一件事情,在你刚才建立的工作上点右键,启动工作,如果你的工作没有问题,将会提示执行成...
数据库操作教程 2022-09-23 20:37:44 -
sqlserver找回企业管理器的方法
打开SQLServer企业管理器,突然弹出一个窗口,内容是:错误提示:“MicrosoftManagementConsole—————————MMC不能打开文件C:ProgramFilesMicrosoftSQLServer80ToolsBinnSQLServerEnterpriseManager.MSC。这可能是由于文件不存在,不是一个MMC控制台,或者用后来版本的MMC创建...
数据库操作教程 2022-09-23 20:37:34 -
Sqlfunction多行中的列合并为一行一列的方法
复制代码代码如下:CREATETABLEtb(standardsvarchar(50),amountvarchar(50),variationvarchar(50),statussvarchar(50),Reasonvarchar(50))insertintotbvalues('55','279','4','物量积压','加工人员设备不足;T排制作进度较慢;')insertintotbvalues('55','279','4','物量积压','部件人员不足;')insertintotbvalues('55','279','4','物量积压','跨间场地积压;图纸问题较多;')insertintotbvalues('56','300','4','物量积压','AAAA;')insertintotbvalues('56','300','4','物量积压','BBBB;')insertintotbvalues('56','300','4','物量积压','CCCC;')createfunctiontest(@standardsvarchar(100))returnsvarchar(8000)...
数据库操作教程 2022-09-23 20:37:32