随笔分类 -  SQL

摘要:DECLARE @tabname NVARCHAR(50)DECLARE @colname NVARCHAR(50)DECLARE mycursor CURSOR FOR SELECT so.[name],sc.nameFROM sysobjects soINNER JOIN syscolumns sc ON (so.id=sc.id)WHERE so.xtype='U' AND sc.name ... 阅读全文
posted @ 2009-03-03 14:28 IamV 阅读(226) 评论(0) 推荐(0)
摘要:影響資料庫效能的重要因素不外乎以下四個: 1. 資料庫的邏輯設計 2. 資料庫的實體設計 3. 伺服器的硬體規格 4. 索引規劃與SQL敘述 在資料庫邏輯設計方面 首先需要考慮資料庫主要是用於儲存交易資料還是分析資料(OLAP)?如果是交易資料庫,則儘可能做到第三正規化,以減少重覆的資料,節省儲存的空間。當資料列變少時,有助於資料的排序與索引,但無可避免的,資料表數目與關聯反而會變多,增加... 阅读全文
posted @ 2008-10-27 11:39 IamV 阅读(610) 评论(0) 推荐(0)
摘要:转自:http://www.cnblogs.com/WizardWu/archive/2008/10/27/1320055.html 有些程序员在撰写数据库应用程序时,常专注于 OOP 及各种 framework 的使用,却忽略了基本的 SQL 语句及其「性能 (performance) 优化」问题。版工曾听过台湾某半导体大厂的新进程序员,所组出来的一段 PL/SQL 跑了好几分钟还跑不完;想... 阅读全文
posted @ 2008-10-27 10:19 IamV 阅读(223) 评论(0) 推荐(0)
摘要:--行列互转 /****************************************************************************************************************************************************** 以学生成绩为例子,比较形象易懂 整理人:中国风(Roy) 日期:2008.06... 阅读全文
posted @ 2008-06-24 10:12 IamV 阅读(346) 评论(0) 推荐(0)
摘要:--不同服务器数据库之间的数据操作 --创建链接服务器 exec sp_addlinkedserver 'ITSV','','SQLOLEDB','172.28.3.11' exec sp_addlinkedsrvlogin 'ITSV','false',null,'用户名','密码' --查询示例 select * from ITSV.PMS_DEV.dbo.TXN_Stay --导入... 阅读全文
posted @ 2008-06-24 09:53 IamV 阅读(1097) 评论(0) 推荐(0)
摘要:---------------------------------------------------------------------------- -------------------------------启用CLR集成---------------------------------- ----在你开始用C#写存储过程之前,必须要启用你的SQL Server的CLR集成特性,默认情况它... 阅读全文
posted @ 2008-06-18 11:54 IamV 阅读(420) 评论(0) 推荐(0)
摘要:---------------------创建表-------------------------------- if object_id('T_a','U') is not null drop table T_a GO CREATE TABLE T_a( id int unique not null, [name] varchar(50), ) GO if object_id('T... 阅读全文
posted @ 2008-05-04 14:04 IamV 阅读(458) 评论(0) 推荐(0)
摘要:/* 原理:游标就是把数据按照指定要求提取出相应的数据集,然后逐条进行数据处理。 1.1游标的概念 游标(Cursor)它使用户可逐行访问由SQL Server返回的结果集。 使用游标(cursor)的一个主要的原因就是把集合操作转换成单个记录处理方式。 用SQL语言从数据库中检索数据后,结果放在内存的一块区域中,且结果往往是一个含有多个记录的集合。 游标机制允许用户在SQL serve... 阅读全文
posted @ 2008-05-02 16:22 IamV 阅读(1847) 评论(0) 推荐(0)
摘要:MS-SQL Server select * from Book where BookName like'%C语言%' 在SQL2000下能正常找到,在2005下不能,因为语句中的中文字体, 但是使用 select * from Book where BookName like N'%C语言%' ,这样就完合正常了, Like 后的N是表示什么意思呢 unicode字符 N转换字符串为nch... 阅读全文
posted @ 2008-03-30 15:58 IamV 阅读(235) 评论(0) 推荐(0)
摘要:1. 案例起因 公司门店应用程序每天都要出一份报表,用来统计所有商品当天的期初库存数量、入库数量、出库数量 及当天的期末库存数量。运行半年以后,这份报表运行越来越慢,到现在,每次运行该报表显示当天数据时需要近20秒的时间。于是开发人员找到我,希望我看看,是不是可以使该报表运行的时间更短。 该报表就是一段SQL语句,主要由三部分组成,第一部分是计算每个商品的期初数量,第二部分是计算每个... 阅读全文
posted @ 2008-03-20 09:52 IamV 阅读(2562) 评论(1) 推荐(0)
摘要:通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。你们大部分人大概都知道怎样把日期进行分割(年、月、日等),然后仅仅用分割出来的年、月、日等放在几个函数中计算出自己所需要的日期!在这篇文 章里,我将告诉你如何使用DATEADD和DATEDIFF函数来计算出在你的程序中可能你要用到的一些不同日期。 在使用本文中的例子之前,你必须注意以下的问... 阅读全文
posted @ 2008-02-05 13:05 IamV 阅读(1377) 评论(1) 推荐(0)
摘要:SQL中CONVERT转化函数的用法 CONVERT的使用方法: 格式: CONVERT(data_type,expression[,style]) 说明: 此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar) 相互转换的时候才用到. 例子: Select CONVERT(varchar(30),getd... 阅读全文
posted @ 2008-02-05 08:53 IamV 阅读(436) 评论(0) 推荐(0)
摘要:@@ROWCOUNT================================ @@ROWCOUNT是返回受上一语句影响的行数。并不是取得总记录数 可以这样写得到所有记录 把set @iRecordCount=@@rowcount 替换成 select @iRecordCount=count(*) from #t 这样就可以得到总记录数 @@TRANCOUNT==========... 阅读全文
posted @ 2008-01-30 09:49 IamV 阅读(654) 评论(0) 推荐(0)