07 2013 档案
摘要:整理一下网上所看到sql优化方法1、使用大写字母书写sql,因为oracle解释器会先将sql语句转换成大写后再解释2 减少访问数据库的次数,多数情况下一条sql可以达到目的的,就不要使用多条sql。当执行每条SQL语句时,ORACLE在内部执行了许多工作:解析SQL语句,估算索引的利用率,绑定变量,读数据块等等。由此可见,减少访问数据的次数,就能实际上减少ORACLE的工作量。例如:以下有三种方法可以检索出雇员号等于0342或0291的职员。方法1(最低效)SELECT EMP_NAME,SALARY,GRADEFROM EMPWHERE EMP_NO=342;SELECT EMP_NAME
阅读全文
摘要:1. WHERE子句中的连接顺序:Oracle采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾.2. SELECT子句中避免使用 ‘ *’:ORACLE在解析的过程中, 会将'*' 依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间3. 使用DECODE函数来减少处理时间:使用DECODE函数可以避免重复扫描相同记录或重复连接相同的表.4. 用TRUNCATE替代DELETE:当删除表中的记录时,在通常情况下, 回滚段(ROLLBACK
阅读全文
摘要:1、Oracle Package的作用: 可以简化应用设计、提高应用性能、实现信息隐藏、子程序重载2、ORACLE中的function 、package、package bodies、procedure的区别和相同: function有返回值,有参数;procedure无返回值,有参数;package、package body是同时存在的,就像.h和.cpp文件,如果要外部调用的,就在package里声明一下,包内调用的,只要在body里写就行了。package可包括function,procedure3、在sqlserver中,直接写个存储过程就可以调用。但是在oracle中,我看好多资料上
阅读全文
摘要:我的开发环境配置经验http://chinasf.cnblogs.com/archive/2010/01/07/1640960.html本人做开发,偶尔重装下系统,比如换电脑了;或者是visual studio 该升级了,或者是系统坏掉了;每次装好后,我都会做备份,那么我是这样做的。1、分区我分区原则是C盘足够大,比如50g或者是100g,这么大是为了直接对该区备份,并且必备软件都装在C区,以前经常将软件放到D区,但是每次恢复系统后,这些软件可能就坏掉了;得不偿失,干脆C区都装必备软件;驱动器一般我会分为3个区,D区作为工作用的,XXXX项目,XXXX邮件之类的,一大堆中文名称的目录,将工作中
阅读全文
摘要:实现效果:安装项目时直接附加数据库。1.首先在需要部署的项目的解决方案资源管理器中新建一个安装项目2.在安装项目的文件视图中,右键【应用程序文件夹】->【添加】->【项目输出】选择你的项目中的启动项目,下面的列表中,默认就是主输出,确定。3.此时在文件系统的中间栏目,会自动列出编译所需的文件。一个简单项目打包差不多,还有快捷方式什么的,就不说了。开始重点了。创建安装程序类4.在解决方案资源管理器中,新建一个类库项目【InstallDB】,删除Class1.cs,新建一个安装程序类[InstallDB.cs],等下将在这个类中编写附加数据库代码。创建自定义安装对话框5.在刚新建的安装
阅读全文
摘要:字符说明示例输出C货币string.Format("{0:C3}", 2)$2.000D十进制string.Format("{0:D3}", 2)002E科学计数法1.20E+0011.20E+001G常规string.Format("{0:G}", 2)2N用分号隔开的数字string.Format("{0:N}", 250000)250,000.00X十六进制string.Format("{0:X000}", 12)Cstring.Format("{0:000.000}"
阅读全文
摘要:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Configuration;using System.Data;using System.Data.SqlClient;using System.Collections;/// /// SQLHelper 的摘要描述 /// public class SQLHelper{ private static readonly string ConnectionString = ConfigurationMan..
阅读全文
摘要:再次写给我们这些浮躁的程序员http://www.cnblogs.com/Deckard/archive/2011/05/20/2052078.html2010年初写过一篇博客(我们是一群和平年代充满浮躁与抱怨的程序员),一年过去了,社会好像更浮躁,也有网友问我这方面的问题,于是有了下面这篇文章,再次写给我们这些刚入行浮躁的程序员,如何成长,以下是列出了一些成长的心得,我们不必每条都去实践,但是优秀的程序员成长过程中总会实践里面的几条。多做项目,多思考不要害怕做事,刚毕业的同学最缺的就是工作经验,乱七八糟的项目能让你很快就了解了一个公司的业务与使用的技术,并且可以多接触同事与客户。当你毕业后刚
阅读全文
摘要:进度条页面:http://www.cnblogs.com/Deckard/archive/2009/06/24/1510451.html//===============================================================================// Microsoft patterns & practices// CompositeUI Application Block//===============================================================================/
阅读全文
摘要:http://www.cnblogs.com/Sue_/articles/2024932.html进度条是一个软件人性化考虑之一,他给用户的感觉就是程序内部在不停的动作,执行到了什么程度,而不是整个界面僵死,以至于用户不知道程序在做什么! 看了好几个WinForm程序了,发现他们对进度条的处理完全失去了进度条的作用。他们都是采用Timer来处理,在线程结束的时候,直接赋值进度条达到100%。和我以前做WebForm程序的时候完全不一样,做WebForm程序的时候,进度条是根据总体数据和每步执行后而计算和更新的。在看了这几个WinForm程序后,我在想:是否所有WinForm程序,在进度条的处.
阅读全文
摘要:什么是合并多行字符串(连接字符串)呢,例如: SQL> desc test; Name Type Nullable Default Comments ------- ------------ -------- ------- -------- COUNTRY VARCHAR2(20) Y CITY VARCHAR2(20) Y SQL> select * from test; COUNTRY CITY -------------------- -------------------- 中国 台北 中国 香港 中国 上海 日本 东京 日本 大阪 要求得到如下结果集: -------
阅读全文
摘要:由于业务的复杂多变,我们编写完的程序,在后期肯定要被修改,而且修改的人很可能不是自己。这种情况我们都遇到过。而且,看别人的代码可能会觉得很痛苦:为什么他要这样写相关逻辑?为什么变量名称要这样定义?换用这种方式不是更好吗?……等等。原因很简单:我们没有一个相关的代码编写规范。而你所换用的方式可能对其他人不适合。我们已经做成功了几个系统。而后期,我们还会编写或者维护更多的代码。这样,编码的规范性就显得很重要了。下面是我遵循的一些规则,以及Steven的几个建议,欢迎拍砖。1. 严格遵循命名约定,好像它们就是你的生命支柱。我们可能有自己的命名方法,也许就是v_aab001, i, count, bj
阅读全文
摘要:内部存储格式: 世纪、年、月、日、小时、分钟、秒 默认格式是:DD-MON-RR。 SYSDATE 返回当前的系统时间。 SELECT SYSDATE FROM DUAL; 对日期的数学运算 SELECT (SYSDATE-HIRE_DATE)/7 FROM TABLENAME WHERE ROWNUM; 数字列 ADD_MONTHS(date,x)函数,返回加上X月后的日期DATE的值。X可以是任意整数。如果结果的月份中所包含的 日分量少于DATE的月份的日分量,则返回结果月份的最后一天。如果不小于,则 结果与DATE的日分量相同。时间分量也相同。 CURRENT_DATE 以DATE类型.
阅读全文
摘要:http://www.jb51.net/list/list_154_1.htm方法一、使用SQL*Loader这个是用的较多的方法,前提必须oracle数据中目的表已经存在。大体步骤如下:1、将excel文件另存为一个新文件比如文件名为text.txt,文件类型选文本文件(制表符分隔),这里选择类型为csv(逗号分隔)也行,但是在写后面的control.ctl时要将字段终止符改为','(fields terminated by ','),假设保存到c盘根目录。2 、如果没有存在的表结构,则创建,假设表为test,有两列为dm,ms。3、用记事本创建SQL*Loa
阅读全文
摘要:字符函数——返回字符值这些函数全都接收的是字符族类型的参数(CHR 除外)并且返回字符值.除了特别说明的之外,这些函数大部分返回VARCHAR2类型的数值.字符函数的返回类型所受的限制和基本数据库类型所受的限制是相同的,比如: VARCHAR2数值被限制为2000字符(ORACLE 8中为4000字符),而CHAR数值被限制为255字符(在ORACLE8中是2000).当在过程性语句中使用时,它们可以被赋值给VARCHAR2 或者CHAR类型的PL/SQL变量.lCHR语法:chr(x)功能:返回在数据库字符集中与X拥有等价数值的字符。CHR和ASCII是一对反函数。经过CHR转换后的字符再经
阅读全文
摘要:ORACLE常用数值函数、转换函数、字符串函数详细出处参考:http://www.jb51.net/article/20975.htm本文更多将会介绍三思在日常中经常会用到的,或者虽然很少用到,但是感觉挺有意思的一些函数。分二类介绍,分别是: 著名函数篇 -经常用到的函数 非著名函数篇-即虽然很少用到,但某些情况下却很实用 注:N表示数字型,C表示字符型,D表示日期型,[]表示内中参数可被忽略,fmt表示格式。 单值函数在查询中返回单个值,可被应用到select,where子句,start with以及connect by 子句和having子句。 (一).数值型函数(Number...
阅读全文
摘要:最近换了新公司,又用回Oracle数据库了,很多东西都忘记了,只是有个印象,这两晚抽了点时间,把oracle对字符串的一些处理函数做了一下整理,供日后查看。。平常我们用Oracle主要有两种字符串类型1.char始终为固定的长度,如果设置了长度小于char列的值,则Oracle会自动用空格填充的。当比较char时,Oracle用空格将其填充为等长,再进行比较。2.VarChar2数据类型为可变长度,虽然与VarChar数据类型是同义的,但在今后的Oracle版本中也许会有变化,所以应该避免使用VarChar,优先使用VarChar2。固定长度的字符串字段使用Char,而其他所有的字符串字段都应
阅读全文
摘要:1.获取所有用户名:SELECTnameFROMSysuserswherestatus='2'andislogin='1'islogin='1'表示帐户islogin='0'表示角色status='2'表示用户帐户status='0'表示糸统帐户2.获取所有数据库名:SELECTNameFROMMaster..SysDatabasesORDERBYName3.获取所有表名SELECTNameFROMDatabaseName..SysObjectsWhereXType='U'ORDER
阅读全文
摘要:方法一:Oracle的死锁非常令人头疼,总结了一些点滴经验作为学习笔记1.查哪个过程被锁查V$DB_OBJECT_CACHE视图:SELECT*FROMV$DB_OBJECT_CACHEWHEREOWNER='过程的所属用户'ANDLOCKS!='0';2. 查是哪一个SID,通过SID可知道是哪个SESSION.查V$ACCESS视图:SELECT*FROMV$ACCESSWHEREOWNER='过程的所属用户'ANDNAME='刚才查到的过程名';3. 查出SID和SERIAL#查V$SESSION视图:SELECTSID,S
阅读全文
摘要:http://www.jb51.net/list/list_154_1.htm数学函数 1.绝对值 S:select abs(-1) value O:select abs(-1) value from dual 2.取整(大) S:select ceiling(-1.001) value O:select ceil(-1.001) value from dual 3.取整(小) S:select floor(-1.001) value O:select floor(-1.001) value from dual 4.取整(截取) S:select cast(-1.002 as int) val
阅读全文
摘要:1)数据类型TSQLPL/SQLnumeric(p,s)numeric(p,s) or NUMBER(p,s)decimal(p,s)decimal(p,s) or NUMBER(p,s)char(m)Char(m)varchar(m)varchar2(m)datetimedate记录Record表字段%type表记录%rowtype表Table自动增长变量AUTOINCREMENT2)变量声明、赋值与引用TSQLPL/SQL声明declare@ls_casher char(1),@ln_payAmt decimal(14,4)declareon_handINTEGER;ls_casher c
阅读全文
摘要:http://www.cnblogs.com/buro79xxd/category/302462.html
阅读全文
摘要:http://www.jcwcn.com/article/database/oracle/今天上班犯了一个严重的错误:把我们系统所使用的Oracle数据库中的数据给改掉了!当发现自己改错时,顿时冒了一身冷汗。不过转念一想,我们不是定期作了数据库备份的嘛,适当的恢复一下,应该不会出现太大的问题吧,因为我只是错误的使用了一个update语句。问题是这样的:我们给系统创建了两个用户:com和comtest。前者存放的是正式库数据,后者存放的测试库数据。它们都有一个taw_rm_user表,存放了使用该系统的用户基本信息,我就是把其中的password字段全部改成了123456。DMP备份文件是9月2
阅读全文
摘要:oracle 数据类型:字段类型 中文说明 限制条件 其它说明 -----------------------------------------------------------------------------------------------------------------------------------CHAR 固定长度字符串 最大长度2000 bytes VARCHAR2 可变长度的字符串 最大长度4000 bytes 可做索引的最大长度749 NCHAR 根据字符集而定的固定长度字符串 最大长度2000 bytes NVARCHAR2 根据字符集而定的...
阅读全文
摘要:http://www.cnblogs.com/rootq/category/149969.html1)选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.(2)WHERE子句中的连接顺序.:ORACLE采用自下而上的顺序解析WHERE子句,根据这
阅读全文
摘要:存储过程 1CREATEORREPLACEPROCEDURE存储过程名 2IS 3BEGIN 4NULL; 5END;行1: CREATEORREPLACEPROCEDURE是一个SQL语句通知Oracle数据库去创建一个叫做skeleton存储过程,如果存在就覆盖它;行2: IS关键词表明后面将跟随一个PL/SQL体。行3: BEGIN关键词表明PL/SQL体的开始。行4: NULLPL/SQL语句表明什么事都不做,这句不能删去,因为PL/SQL体中至少需要有一句;行5: END关键词表明PL/SQL体的结束存储过程创建语法:createorreplaceprocedur...
阅读全文
摘要:一、Oracle临时表知识 在Oracle中,临时表分为SESSION、TRANSACTION两种,SESSION级的临时表数据在整个SESSION都存在,直到结束此次SESSION;而 TRANSACTION级的临时表数据在TRANACTION结束后消失,即COMMIT/ROLLBACK或结束SESSION都会清除 TRANACTION临时表数据。 1) 会话级临时表 示例 1创建 Sql代码 createglobaltemporarytabletemp_tbl(col_avarchar2(30)) oncommitpreserverowscreate global temporary ..
阅读全文
摘要:本文转自http://www.cnblogs.com/hahacjh/archive/2010/04/29/1724125.html写在前面: .Net已经成为许多软件公司的选择,而.Net自定义WinForm界面控件,也成为编程的热点,越来越多的程序员会开发自己需要的自定义界面控件.小作坊网介绍了多种自定义的界面控件,基本了包括了日常所需的各种基本控件,介绍的自定义控件,都对原有的界面控件作了扩展,使之更适用了系统或更美观.下面作一个小结:.Net自定义控件之WinForm的经典OutlookBarhttp://www.myfirm.cn/News/DotNetUserInterface/2
阅读全文
摘要:使用.Net编写Windows程序,对于窗体控制常见项目 属性:1、让窗体在启动时在指定位置出现 form1.StartPosition Manual CenterScreen WindowsDefaultLocation (default) WindowsDefaultBounds CenterParent // 父窗体的中间只有在窗体启动前设置才有效。 2、设置窗体的图标 form1.Icon 3、设置该窗体成为多个子窗体的父窗体 form1.isMidContainer = true / false(default) 在设计时使用,一个项目中只能有一个父窗体。 4、指定最大化、最小化按钮
阅读全文
摘要:想找ColumnName叫CRE_USR的欄位在那些Table呢? (For SQL Server)SELECT o.name, o.* FROM syscolumns c INNER JOIN sysobjects o ON o.id = c.id WHERE c.name = 'CRE_USR' AND o.xtype = 'U'可以參考 syscolumns 及 sysobjects。xtypechar(2)物件類型。可以是下列其中一種物件類型:C = CHECK 條件約束D = 預設值或 DEFAULT 條件約束F = FOREIGN KEY 條件約束L
阅读全文
摘要:今天 Terry大 介紹給小弟這個 SQL Sentry Plan Explorer 工具,可以用來看SQL Plan。什麼? 用SSMS看不就很清楚了嗎?這個Tool有把SQL Plan幫我們整理的更清楚,如下圖所示(看了粉感動呢!),而且又是免費的,真是佛心來著!裝好 Plan Explorer 後,可再裝Management Studio Add-In (有Support到SQL 2012哦!),就可在SSMS中的執行計畫按右鍵來開啟SQL Sentry Plan Explorer 工具。趕快下載(SQL Sentry Plan Explorer 工具)來試試吧
阅读全文
摘要:有朋友在FB上問到,他們將日期的分隔符號都置換成空字串後的字串,要如何將它再轉回成DateTime呢?例如日期 2013/04/02 14:08:37 會轉成 20130402140837 。 要如何將它再轉回成DateTime呢?有想到以下的方式,view sourceprint?01DECLARE @DateTimeVaue VARCHAR(30) 02SET @DateTimeVaue = '20130402140837' -- 2013/04/02 14:08:37 0304--使用字串函數先將字串轉成日期格式字串再轉成DateTime (20130402140837
阅读全文
摘要:有朋友問「如何直接unpivot成2個欄位」,如下所示,先準備測試資料如下,view sourceprint?01create table T ( 02no varchar(10), 03yearx varchar(4), 04z_type varchar(1), 05A01 smallint, 06B01 smallint, 07A02 smallint, 08B02 smallint, 09A03 smallint, 10B03 smallint11) 12go 1314insert into T VALUES('Z01','2012','1'
阅读全文
摘要:ASP.NET 工作流支持长时间运行操作的 Web 应用程序Michael Kennedy代码下载位置:MSDN 代码库 在线浏览代码 本文将介绍以下内容:独立于进程的工作流同步和异步活动工作流、活动和持久性与 ASP.NET 集成本文使用了以下技术: Windows Workflow Foundation、ASP.NET目录管理工作流 同步和异步活动 “空闲”究竟指什么? 同步任务异步化 工作流和活动 持久性 使之变为现实 与 ASP.NET 集成 考虑事项 综述 人们经常要求软件开发人员构建可支持长时间运行操作的 Web 应用程序。在线商店的结账过程就是一个例子,它只需数分钟即可完成。尽管
阅读全文
摘要:前言一般的系統一登入時,都會顯示公告訊息,我們的系統也是! 因為系統效能問題,所以就幫忙看了程式。發現,每次登入時,都會到DB取公告資料,但公告並不會因為個人而有所不同,是針對整個系統的呀! 所以就建議將資料放到Application之中,然後在維護公告的那支程式中,再去將放在Application中的公告資料給清掉。但是因為我們的系統有4台Web AP做Load Balance,所以會導致只有操作維護公告那台Web AP會被清掉,其他3台還是舊的資料。實作有想到2種方式,1是公告調整時,再去寫For各AP的一個Flag,然後各AP去讀取它,然後再Update那個Flag。2是公告內容調整時,
阅读全文