Ms SQL Server
文章平均质量分 85
cntenger
这个作者很懒,什么都没留下…
展开
-
MS SQL用ROWCOUNT解决TOP子句不支持变量的问题
因为仰望ORACLE,所以一直都以为SQL SERVER很笨。据传SQL 2005有了RowID的东西,可以解决TOP排序的问题。可惜还没有机会体验。在SQL 2000中写存储过程,总会遇到需要TOP的地方,而一旦遇到TOP,因为没办法把TOP后面的数字作为变量写到预编译的语句中去,所以只能够使用构造SQL,使用Exec来执行。不说效率的问题,心里也总觉得这个办法很笨。实际上,在SQL 2原创 2009-04-02 09:03:00 · 407 阅读 · 0 评论 -
windows验证方式连接SQL 数据库
C#中以windows验证方式连接SQL server数据库的类。很多人连接数据库时可能都是网上查了然后就连了,对于参数的含义倒是没怎么在意,偶也是(呵呵),当然我们都注重结果嘛,可是这样不容易记忆每次连的时候都是上网查,感觉挺不方便,所以索性查了一下。~~~Integrated Security=True;表示在连接数据库进行身份验证时用windows集成的身份验证模式,TRUE可以改成SSPI原创 2010-01-06 11:28:00 · 4551 阅读 · 0 评论 -
判断一个区间的数据是否都存在于表中
testTable :id_start id_end--------- ----------1 1011 1415 3038 4550 60 -- 在页面上输入一个区间的值, 如 开始:30 结束:50 -- 要判断 30~50 这个区间内的所有数字(30,31,32,33,...,50原创 2010-04-16 15:32:00 · 758 阅读 · 0 评论 -
SQL语句的MINUS,INTERSECT和UNION ALL
SQL语句中的三个关键字:MINUS(减去),INTERSECT(交集)和UNION ALL(并集);关于集合的概念,中学都应该学过,就不多说了.这三个关键字主要是对数据库的查询结果进行操作,正如其中文含义一样:两个查询,MINUS是从第一个查询结果减去第二个查询结果,如果有相交部分就减去相交部分;否则和第一个查询结果没有区别. INTERSECT是两个查询结果的交集,UNION ALL是两个转载 2010-04-16 10:39:00 · 660 阅读 · 0 评论 -
SQL循环语句
SQL循环语句 declare @i int set @i=1 while @ibegin insert into test (userid) values(@i) set @i=@i+1 end --------------- while 条件 begin 执行操作 set @i=@i+1 end WHILE 设置重复执行 SQL 语句或语句块的条件。只要指定的条件为真,就重复执行语句。可以使用原创 2010-04-16 12:46:00 · 2590 阅读 · 1 评论 -
plsql常用命令介绍
SQL*PLUS命令的使用大全Oracle的sql*plus是与oracle进行交互的客户端工具。在sql*plus中,可以运行sql*plus命令与sql语句。我们通常所说的DML、DDL、DCL语句都是sql语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的s原创 2010-04-16 12:48:00 · 8229 阅读 · 0 评论 -
group by 的使用详解
group by 分组 通用数据库具有基于表的特定列对数据进行分析的能力。 可按照在 GROUP BY 子句中定义的组对行进行分组。以其最简单的形式,组由称为分组列的列组成。 SELECT 子句中的列名必须为分组列或列函数。列函数对于 GROUP BY 子句定义的每个组各返回一个结果。下列示例产生一个列出每个部门编号的最高薪水的结果: SELECT DEPT, MAX(SALARY) AS MAX原创 2010-04-16 15:47:00 · 593 阅读 · 0 评论 -
group by,having,order by小结--teradata数据库
Group By利用GROUP BY和聚合函数可以实现分组累计。举例来说,如果要求显示各个部门的薪水合计,可以使用下面的语句。SELECT department_number,SUM (salary_amount)FROM employeeGROUP BY department_number; 结果: department_number Sum(salary_amount)401 74150.00转载 2010-04-16 15:48:00 · 1337 阅读 · 0 评论 -
SQL连接查询(汇总)
一、交叉连接(CROSS JOIN)交叉连接(CROSS JOIN):有两种,显式的和隐式的,不带ON子句,返回的是两表的乘积,也叫笛卡尔积。例如:下面的语句1和语句2的结果是相同的。语句1:隐式的交叉连接,没有CROSS JOIN。SELECT O.ID, O.ORDER_NUMBER, C.ID, C.NAMEFROM ORDERS O , CUSTOMERS CWHERE O.ID=转载 2010-04-16 12:47:00 · 872 阅读 · 0 评论 -
WEBadi重复数据删除问题
最近在做Oracle Form WEBADI的数据导入。在项目中遇到一个很辣手的问题:如果第一次数据导入失败,在客户化临时表中就会存留上次正确导入的数据,在进行第二次导入的时候会遇到数据重复的问题,笔者当时处理的方式就删除重复的数据,但是这种方式带来的一个潜在的威胁就是:如果在excel中存在重复的数据系统将不报告任何的错误。用一个图例说明如下:经过苦思冥想,笔者终于找到一个比较统一的解决转载 2010-04-16 15:52:00 · 808 阅读 · 0 评论 -
SQL SERVER 跨服务器查询
在执行跨服务器查询之前,运行exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'Ad Hoc Distributed Queries',1 reconfigure查询结束后,运行exec sp_configure 'Ad Hoc Distributed Querie转载 2012-07-17 13:58:58 · 716 阅读 · 0 评论 -
如何高效的将excel导入sqlserver?
大部分人都知道用oledb来读取数据到dataset,但是读取之后怎么处理dataset就千奇百怪了。很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,System.Data.SqlClient.SqlBulkCopy 对于新手来说还是比较陌生的,这个就是传说中效率极高的bcp,6万多数据从excel导入到sql只需要4.5秒。 using System; using Syste转载 2009-11-26 15:15:00 · 421 阅读 · 0 评论 -
数据库中的事务处理详解SQL Server Transaction
事务定义: 事务是单个的工作单元。如果某一事务成功,则在该事务中进行的所有数据更改均会提交,成为数据库中的永久组成部分。如果事务遇到错误且必须取消或回滚,则所有数据更改均被清除。事务三种运行模式:自动提交事务每条单独的语句都是一个事务。显式事务每个事务均以 BEGIN TRANSACTION 语句显式开始,以 COMMIT 或 ROLLBACK 语句显式结束。隐性事务在前一个事务完成时新事转载 2009-11-24 14:09:00 · 1632 阅读 · 0 评论 -
用SQL语句实现异构数据库之间的导数据导入/出
【异构数据导入导出】在SQLServer中执行SELECT * into bmkFROM OpenDataSource( Microsoft.Jet.OLEDB.4.0, Data Source="e:/share";User ID=Admin;Password=;Extended properties=dBase 5.0)...bmk这样就可以把e:/share中的bmk.dbf表原创 2009-04-02 09:08:00 · 456 阅读 · 0 评论 -
MS-SQL中多个表或结果集的组合的方法MS-SQL中多个表或结果集的组合的方法
在MS-SQL如果将两个或更多查询的结果组合为单个结果集,该结果集包含联合查询中的所有查询的全部行,常用的方法如下:一. 使用union 或union All语句1. union 与 union all语句的区别%26Oslash; UNION 组合多个表(或结果集)并将其作为单个结果集返回;%26Oslash; UNION ALL 在结果中包含所有的行,包括重复行。%26Oslash; 也就是说原创 2009-04-02 10:37:00 · 492 阅读 · 0 评论 -
数据库游标的应用
关系数据库中的操作会对整个行集产生影响。由SELECT语句返回的行集包括所有满足该语句WHERE子句中条件的行,由语句所返回的完整的行集被称为结果集。应用程序,特别是交互式联机应用程序,并不总能将整个结果集作为一个单元来有效地处理,这些应用程序需要一种机制以便每次处理一行或一部分行,游标就是提供这种机制的结果集扩展。游标通过以下方式扩展结果处理:允许定位在结果集的特定行。 从结果集转载 2009-03-30 15:00:00 · 553 阅读 · 0 评论 -
SQL Server 存储过程嵌套示例SQL Server 存储过程嵌套示例
1) 事例数据库表:企业信息表 表名称 prd_wxt_enterprise_tbl_EnterpriseInfo 数据来源 存储数据 企业信息表 主键/外键 字段名称 说明 类型(精度范围) 备注 cEnterpriseId n 企业ID Char(10) sEnterpriseName n 企业名称 Varchar(200) sShortName n 简称 Varchar(50) sAddre原创 2009-04-02 12:51:00 · 907 阅读 · 0 评论 -
SQL中DATEADD和DATEDIFF的用法
通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。你们大部分人大概都知道怎样把日期进行分割(年、月、日等),然后仅仅用分割出来的年、月、日等放在几个函数中计算出自己所需要的日期! 在这篇文章里,我将告诉你如何使用DATEADD和DATEDIFF函数来计算出在你的程序中可能你要用到的一些不同日期。原创 2009-04-16 09:00:00 · 488 阅读 · 0 评论 -
30条经典的SQL语句
返回表的字段名称select name from syscolumns where id=object_id(jobs)select * into bfrom a where 1--刚看到的.新建一个与a表一样的空的b表select * into bfrom a where 1--刚看到的.新建一个与a表一样的空的b表精点,经典,一些不错的sql语句,自己根据需要收藏吧,分转载 2009-04-28 09:35:00 · 564 阅读 · 0 评论 -
SQL日期格式化应用大全
Sql Server 中一个非常强大的日期格式化函数Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDATE(), 1): 05/16/06Select CONVERT(varchar(100), GETDA翻译 2009-05-04 16:26:00 · 401 阅读 · 0 评论 -
字符串的排序问题(SQL)
如下的字段内容如何样式. 测试1 测试10 测试2 测试21 测试3 测试31 测试4 要求按里面的数字排序成如下样式. 测试1 测试2 测试3 测试4 测试10 测试21 测试31翻译 2009-05-04 12:33:00 · 735 阅读 · 0 评论 -
SQL语法之索引
注:MSSQLServer2000按照索引的结构,可以将其划分为两大类:聚簇索引(Clustered index)和非聚簇索引(Noclustered index)。 按照表中建立索引的那一列(或列组合)中的数据是否各不相同,可以将索引分为唯一索引和非唯一索引。 建立索引的条件如下:(1)只有表的拥有者才能建立索引(2)每个表只能建立一个聚簇索引(3)每个表最多可以建立249个非聚翻译 2009-07-22 15:25:00 · 606 阅读 · 0 评论 -
三种事务处理方式比较
三种事务处理事务处理是在数据处理时经常遇到的问题,经常用到的方法有以下3种总结整理如下:方法1:直接写入到sql 中在存储过程中使用 BEGIN TRANS, COMMIT TRANS, ROLLBACK TRANS 实现 begin transdeclare @orderDetailsError int,@procuntError intdelete from [order detai原创 2009-11-26 10:32:00 · 691 阅读 · 0 评论 -
SqlServerExpress2005自动备份数据库
众所周知SqlServerExpress2005 属于简装版,安装程序五六十兆,在客户的服务器上部署时很畅快。但该数据库无Agent这样对我们进行定时备份保护数据安全带来了麻烦。为了定时备Express2005数据库,可以采取以下方案: 1.编写WindowsService,在服务内调用备份数据库方法。 2.使用Windows自带的计划任务。(推荐使用)。 下面就由转载 2012-08-20 16:40:13 · 1843 阅读 · 0 评论