文章分类 -  SQL

上一页 1 2 3 4 5 6 ··· 15 下一页
摘要:公司有个网站,为了保证安全性,需要对数据库进行本地备份,查了下网上资料,发现 的资料还是蛮多的,但是要进行Internet上的异地实时同步备份,发现还是蛮少的,SQL的发布订阅,文章也很多,但是基本上都是基于同一个局域网的。经过多次试验,找到了基于Internet的异地同步方案,在此文中记录一下配置过程,以备后用。要解决跨Internet的问题,主要解决SQL Server的连接权限问题、SQL 代理服务的权限问题以及快照文件夹的权限问题。一、发布服务器端准备工作在发布服务端建立Windows账户,假设publishtest,并设置好密码,然后设置到Administrators组。开放数据库1 阅读全文
posted @ 2012-05-17 16:42 rob_2010 阅读(196) 评论(0) 推荐(0)
摘要:1.支持多列排序,自认为效率比较高的一个存储过程:/****** 对象: StoredProcedure [dbo].[P_viewPage] 脚本日期: 05/14/2012 08:49:34 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOcreate PROC [dbo].[P_viewPage]-- Add the parameters for the stored procedure here@TableName VARCHAR(200), --表名@FieldList VARCHAR(2000), --显... 阅读全文
posted @ 2012-05-17 16:36 rob_2010 阅读(127) 评论(0) 推荐(0)
摘要:简易型:C# DBHelper Code 1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 using System.Data; 5 using System.Data.SqlClient; 6 using System.Configuration; 7 8 namespace ADODoNETDemo 9 { 10 /// <summary> 11 /// 针对SQL Server数据库操作的通用类 12 /// 作者:周公 13 /// 日... 阅读全文
posted @ 2012-05-12 16:12 rob_2010 阅读(205) 评论(0) 推荐(0)
摘要:今天在写视图时,遇到要把Datetime类型转Varchar类型。以前在ORALCE就容易,直接ToChar(getdate(),'yyyy-mm-dd')。在SQL Server 2005却不会了,上网找了下,终于找到了方法。select CONVERT(varchar, getdate(), 120 )2004-09-12 11:06:08select CONVERT(varchar(12) , getdate(), 111 )2004/09/12select CONVERT(varchar(12) , getdate(), 112 )20040912select CONV 阅读全文
posted @ 2012-05-12 14:14 rob_2010 阅读(144) 评论(0) 推荐(0)
摘要:如果是标值量函数:select dbo.函数名(参数们)如果是表值函数:select * from 函数名(参数们) 阅读全文
posted @ 2012-04-12 20:00 rob_2010 阅读(83) 评论(0) 推荐(0)
摘要:上周看到了两篇关于DataReader分页的帖子,帖子的观点都是可以是用DataReader来分页,而且效率还不错。 根据我的分页经历来看,很难理解DataReader分页怎么就快了呢?理论上就不说了,直接用测试说话。 1、100w条记录,使用SQL语句(max方法)分页,PostBack方式,GridView显示数据。(第一页需要统计总记录数,所以会有点慢)http://demo.naturefw.com/Nonline/QuickPager/200w/GridView.aspx 2、100w条记录,使用DataReader分页,URL方式,GridView显示数据(没有统计总记录数。... 阅读全文
posted @ 2012-04-12 16:10 rob_2010 阅读(189) 评论(0) 推荐(0)
摘要:在本文之前我读过多篇关于事务的文章,大都说的比较深奥,可能让新手也难以理解。 在此我们用非常简单的例子讲解一下事务的应用吧。第一:我们先创建一个临时表,填写一些数据。CREATE TABLE #tab (id INT, country NVARCHAR(10), popu INT )INSERT INTO #tab VALUES (1, '中国', '600')INSERT INTO #tab VALUES (2, '美国', '100')INSERT INTO #tab VALUES (3, '加拿大',  阅读全文
posted @ 2012-04-11 15:10 rob_2010 阅读(180) 评论(0) 推荐(0)
摘要:T-SQL对字符串的处理能力比较弱,比如我要循环遍历象1,2,3,4,5这样的字符串,如果用数组的话,遍历很简单,但是T-SQL不支持数组,所以处理下来比较麻烦。下边的函数,实现了象数组一样去处理字符串。一,用临时表作为数组。create function f_split(@c varchar(2000),@split varchar(2)) returns @t table(col varchar(20)) as begin while(charindex(@split,@c)<>0) begin insert @t(col) ... 阅读全文
posted @ 2012-04-08 02:43 rob_2010 阅读(251) 评论(0) 推荐(0)
摘要:在SQL Server 2000中,我们一般使用RaiseError(http://msdn.microsoft.com/zh-cn/library/ms177497.aspx)来抛出错误交给应用程序来处理。看MSDN示例(http://msdn.microsoft.com/zh-cn/library/aa238452%28v=sql.80%29.aspx),自从SQL Server 2005集成Try…Catch功能以后,我们使用时更加灵活,到了SQL Server 2012,更推出了强大的THROW,处理错误显得更为精简。本文对此作一个小小的展示。 首先,我们假定两个基本表如下:--创建. 阅读全文
posted @ 2012-04-08 02:40 rob_2010 阅读(245) 评论(0) 推荐(0)
摘要:文章是网上找的,从来没有弄过,一直是php+mysql 现在搞个php+mssql 也不懂,没有办法,从网上找了些资料,我是看了这些资料,才连上的mssql的第一次感觉真的挺费劲的,这些可能不需要全部看完就ok,我也是这一点那一点,可能是我比较笨吧!呵呵环境:- Apache 2.2.6- PHP 5.2.5- SQL Server 2005- Windows XP SP2步骤:1. 首先按通常做法配置好PHP5连接MS SQL Server2. 下载正确版本的 ntwdblib.dll (2000.80.194.0),注意这个版本号,不是这个版本的dll 不起作用啊,刚开始搞了好久才发现这个 阅读全文
posted @ 2012-04-08 02:25 rob_2010 阅读(146) 评论(0) 推荐(0)
摘要:明天放假,今天刚好整理一下,对于日期的格式、推算、运算是平时常用的,简单易错。1. T-SQL 日期格式转换由原始的值2012-04-03 10:57:06.127转换成以下20种常用的格式2012-04-03201204032012.04.0304/03/201203/04/201203.04.201203-04-201203 Apr 2012Apr 03, 201210:57:06Apr 3 201204-03-20122012/04/032012040303 Apr 201210:57:06:1272012-4-32012年04月03日2012年4月3日2012-04-03 10:57: 阅读全文
posted @ 2012-04-04 00:27 rob_2010 阅读(111) 评论(0) 推荐(0)
摘要:公司有一个老项目由于直接把终端拍摄的图片以二进制的形式保存到数据库中,数据库比较大所以需要经常删除这些冗余数据,手动删除费时费力,项目组长让我把这些操作变成自动的,每天执行一次,只保留最近两个月的图片数据。查阅了相关的资料,找到了解决方案,在此做一个记录,以便有同样需求的人和自己查阅。 现在我们通过一个非常简单的示例来演示如何设置定时任务:有一张员工表,我们定时往里面添加一条数据。通过示例来了解如何使用Sql Server的作业任务进行定时删除数据的操作:表结构:1.开启SQL Server Agent服务 使用作业需要SQL Agent服务的支持,并且需要设置为自动启动,否则你的作业不会.. 阅读全文
posted @ 2012-04-02 02:07 rob_2010 阅读(111) 评论(0) 推荐(0)
摘要:问题想说这个问题,来源来自于CSDN论坛的一个帖子:《sqlserver2005,1690万的数据量怎么快速分页查询》在之前也有很多人问类似这样的问题,回复这样的问题,我们一般会从索引,水平分区,垂直分区和硬件的升级等方面考虑。分析对于千万级数据的分页,要求在秒级内响应,解决方案除了刚列的几个方面考虑,这里说一个非常重要的考虑(评估)是,现实意义。拿CSDN论坛的那1690万数据来说,我按每页显示200行数据,需要84500页。从站在用户(使用者)角度看,对于查看1万页以后的数据的概率是非常小。假设我们是使用者,让我们一页一页的点,点到100页都够郁闷的了,更何况是1万页后的数据了。这里从现实 阅读全文
posted @ 2012-04-02 02:03 rob_2010 阅读(137) 评论(0) 推荐(0)
摘要:判断指定一个日期,是否为今天。本自定义函数,返回BIT数据类型,如果返回1,说明指定的日期为今天日期,否则不是。自定义函数中,使用了另外一个T-SQL日期比较的函数[dbo].[DateTimeCompare](date1,date2),此函数详细可参考http://www.cnblogs.com/insus/archive/2011/06/24/2089005.htmludf_IsToday--=============================================--Author:Insus.NET--Createdate: 2012-03-22--Description 阅读全文
posted @ 2012-04-02 02:02 rob_2010 阅读(313) 评论(0) 推荐(0)
摘要:下面两个自定义函数,一个是获取指定的前一天的日期,另外一个是获取指定日期的后一天日期。开发企业内网软件常用,为了更好的的规范和代码维护,Insus.NET常会把一些重复使用的代码,重构为函数。返回前一天:udf_Yesterday--=============================================--Author:Insus.NET--Createdate: 2012-03-22--Description:指定日期,返回前一天日期--=============================================CREATEFUNCTION[dbo].[ud 阅读全文
posted @ 2012-04-02 02:01 rob_2010 阅读(394) 评论(0) 推荐(0)
摘要:1.创建测试环境,(插入100万条数据大概耗时5分钟)。create database DBTestuse DBTest--创建测试表create table pagetest(id int identity(1,1) not null,col01 int null,col02 nvarchar(50) null,col03 datetime null)--1万记录集declare @i intset @i=0while(@i<10000)begin insert into pagetest select cast(floor(rand()*10000) as int),left(new 阅读全文
posted @ 2012-04-02 01:58 rob_2010 阅读(187) 评论(0) 推荐(0)
摘要:begintranSELECT*FROMAparliquidationWITH(updlock)whereDetailpointer='5fdf708e-283a-405c-99e4-4f3509bf5848'updateAparliquidationsetbatchno=20whereDetailpointer='5fdf708e-283a-405c-99e4-4f3509bf5848'SELECT*FROMAparliquidationwaitfordelay'00:00:10'committran 阅读全文
posted @ 2012-03-30 10:45 rob_2010 阅读(102) 评论(0) 推荐(0)
摘要:NOLOCK和READPAST的区别。1.开启一个事务执行插入数据的操作。BEGINTRANtINSERTINTOCustomerSELECT'a','a'2.执行一条查询语句。SELECT*FROMCustomerWITH(NOLOCK)结果中显示”a”和”a”。当1中事务回滚后,那么a将成为脏数据。(注:1中的事务未提交)。NOLOCK表明没有对数据表添加共享锁以阻止其它事务对数据表数据的修改。SELECT*FROMCustomer这条语句将一直死锁,直到排他锁解除或者锁超时为止。(注:设置锁超时SET LOCK_TIMEOUT 1800)SELECT*FR 阅读全文
posted @ 2012-03-28 18:10 rob_2010 阅读(154) 评论(0) 推荐(0)
摘要:1、它是一个系统存储过程,也必须用EXECUTE来调用2、它后面可以接存储过程名,或者一个SQL语句系列3、它后面接的不管是什么,必须是Unicode常量(用大写字母N开头的,如:N'This is a string'),或者单一的Unicode变量,而不允许是Unicode表达式,即使是很简单的@a+@b的形式4、它后面接的字符串如果包含参数,包含的每个参数在参数定义列表和参数值列表中均必须有对应项。如:sp_executesql N'select @test',N'@test int',@test=3。第一部分:语句系列;第二部分:参数定义; 阅读全文
posted @ 2012-03-28 13:31 rob_2010 阅读(335) 评论(0) 推荐(0)
摘要:--====================简单增删改===========--查看学生表的全部数据select * from studio --插入一个新的学生信息insert into studio(st_name,st_sex,st_age,st_add,st_tel) values("黄兰淇",0,36,'南充','13943943334')--查看class全部数据select * from class--向class表增加两条条数据insert into class(cl_class,cl_coding,cl_o_time,cl_ 阅读全文
posted @ 2012-01-19 18:03 rob_2010 阅读(183) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 ··· 15 下一页