随笔分类 -  Sql Server

摘要:/*带输入输出参数存储过程*/ ALTER PROCEDURE pro_test2 @userID INT, @maxUserID INT OUTPUT, @countUser INT OUTPUT AS BEGIN SELECT * FROM dbo.SY_ADMIN WHERE UserID=@userID --10075 SELECT @maxUser... 阅读全文
posted @ 2016-11-21 14:34 深南大道 阅读(351) 评论(0) 推荐(0)
摘要:前些天客户提出一个这样的要求:一个手机订餐网,查询当前所在位置的5公里范围的酒店,然后客户好去吃饭。 拿到这个请求后,不知道如何下手,静静地想了一下,在酒店的表中增加两个字段,用来存储酒店所在的经度和纬度,当订餐的时候,要求手机得到当前客户所在的经度和纬度传过来,再与数据库中酒店的经度和纬度计算一下 阅读全文
posted @ 2015-04-28 17:52 深南大道 阅读(3575) 评论(0) 推荐(0)
摘要:---1.先备份数据库(含日志文件) use myhis go backup database myhis to disk='d:\myhis_rzbak' go ---2.设为简单恢复模式 use [master] go alter database myhis set recovery simple with no_wait go alter database myhis set re... 阅读全文
posted @ 2015-02-05 14:14 深南大道 阅读(426) 评论(0) 推荐(0)
摘要:①打开C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config目录,找到machine.config文件新增 <add name="SQLite Data Provider" invariant="System.Data.SQLite" descr 阅读全文
posted @ 2014-12-25 15:08 深南大道 阅读(355) 评论(0) 推荐(0)
摘要:/*** 游标的使用 讲了这个多游标的优点,现在我们就亲自来揭开游标的神秘的面纱。 使用游标的顺序: 声名游标、打开游标、读取数据、关闭游标、删除游标。 1.3.1声明游标 最简单游标声明:DECLARE CURSOR FOR; 其中select语句可以是简单查询,也可以是复杂的接连查询和嵌套查询 例子:[已表2 AddSalary为例子] Declare mycursor cursor fo... 阅读全文
posted @ 2014-11-12 14:50 深南大道 阅读(2370) 评论(0) 推荐(0)
摘要:由于数据库的一个表字段中多包含html标签,现在需要修改数据库的字段把html标签都替换掉。当然我可以通过写一个程序去修改,那毕竟有点麻烦。直接在查询分析器中执行,但是MS SQL Server并没有提供正则表达式,替换html标签可不那么容易。我们可以通过CLR托管来实现一个通过正则表达式来替换h 阅读全文
posted @ 2014-10-11 11:06 深南大道 阅读(230) 评论(0) 推荐(0)
摘要:create function [dbo].[clearhtml] (@maco varchar(8000)) returns varchar(8000) as begin declare @randchar_one nvarchar(200) declare @randchar_two nvarchar(200) if(charindex('0) ... 阅读全文
posted @ 2014-10-11 10:51 深南大道 阅读(270) 评论(0) 推荐(0)
摘要:触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程。触发器主要是通过事件进行触发被自动调用执行的。而存储过程可以通过存储过程的名称被调用。 Ø 什么是触发器 触发器对表进行插入、更新、删除的时候会自动执行的特殊存储过程。触发器一般用在check约束更加复杂的约束上面。触发器和普通的存储 阅读全文
posted @ 2014-05-10 11:55 深南大道 阅读(313) 评论(0) 推荐(0)
摘要:在实际的工作需要中,我们有时候需将大量的数据导入到数据库中。这时候我们不得不考虑的就是效率问题。本文我们就介绍了一种将大量数据高效地导入SQL Server数据库的方法,该方法是使用BULK INSERT来实现的,接下来就让我们来一起了解一下这部分内容。 源数据(文本文件) 下载了大量的股票历史数据 阅读全文
posted @ 2014-03-27 16:34 深南大道 阅读(238) 评论(0) 推荐(0)
摘要:private void button1_Click(object sender, EventArgs e) { //Sqlite使用事务批量操作 极大的提高速度 DateTime starttime = DateTime.Now; using (SQLiteConnection con = new 阅读全文
posted @ 2014-03-26 12:58 深南大道 阅读(424) 评论(0) 推荐(0)
摘要:--解决方法 --日志文件满而造成SQL数据库无法写入文件时,可用两种方法: --查看数据库日志大小 dbcc sqlperf(logspace) --清空日志。 --1.打开查询分析器,输入命令 DUMP TRANSACTION 数据库名 WITH NO_LOG --2.再打开企业管理器--右键你 阅读全文
posted @ 2013-12-02 12:38 深南大道 阅读(1233) 评论(0) 推荐(0)
摘要:解决办法: 1、新建一个同名数据库。 2、停止数据库服务,覆盖新建的数据库主文件(小技巧:最好放在同一个磁盘里面,把新建的数据库主文件删掉或移开,再把要恢复的数据库主文件剪切过去,这样就可以节省时间。) 3、启动数据库服务,数据库变为置疑或可疑状态。然后在查询分析器中运行: alter databa 阅读全文
posted @ 2013-09-18 11:56 深南大道 阅读(193) 评论(0) 推荐(0)
摘要:将以下内容保存为 openSql.bat 双击运行即可 阅读全文
posted @ 2013-09-16 14:45 深南大道 阅读(287) 评论(0) 推荐(0)
摘要:1. win2003可以这样自动重启: 新建一个命令行文件比如reboot.bat 内容如下:shutdown -r -t 30 在计划任务中新建一个任务,程序选择上面这个reboot.cmd文件,时间定好,执行任务的用户及密码设置好 2. 你是否想睡觉或出门,但电脑又正在进行工作,不能现在就关机, 阅读全文
posted @ 2013-09-16 12:32 深南大道 阅读(1544) 评论(0) 推荐(0)
摘要:--用SQL语句,删除掉重复项只保留一条 --在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢 --1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peo 阅读全文
posted @ 2013-08-12 16:11 深南大道 阅读(690) 评论(0) 推荐(0)
摘要:处理百万级以上的数据提高查询速度的方法: 1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 3.应尽量避免在 where 子句中对字段进行 n 阅读全文
posted @ 2013-06-24 16:40 深南大道 阅读(204) 评论(0) 推荐(0)
摘要:--创建和执行事后触发器 --更新仓库备份表中记录时自动创建数据表且插入三条记录 create trigger db_trigger1 on 仓库备份 for update as begin if Exists(select * from sys.sysobjects where id=OBJECT 阅读全文
posted @ 2013-06-24 14:42 深南大道 阅读(221) 评论(0) 推荐(0)
摘要:declare db_cursor5 scroll cursor for select amazonOrderid,Name,AddressLine1 from dbo.OrdersAddress --声明游标 declare @t varchar(max) --定义变量 declare @t1 v 阅读全文
posted @ 2013-06-24 14:36 深南大道 阅读(189) 评论(0) 推荐(0)
摘要:--不带参数的存储过程 CREATE procedure proc_sql1 as begin declare @i int set @i=0 while @i<26 begin print char(ascii('a')+@i)+'的ASCII码是:'+cast(ascii('a')+@i as 阅读全文
posted @ 2013-06-24 13:38 深南大道 阅读(179) 评论(0) 推荐(0)
摘要:--在sql语句中 begin...end 用来设定一个程序块 相关于c#中的{} declare @yz real,@w int --声明变量 set @w=120 --为变量赋值 if @w<=100 --if条件语句 begin --Begin程序块 set @yz=@w*0.12 --为变量 阅读全文
posted @ 2013-06-24 11:31 深南大道 阅读(181) 评论(0) 推荐(0)