随笔分类 -  数据库

上一页 1 2 3 4 5 6 7 ··· 14 下一页
摘要:1.获取所有用户名:SELECTnameFROMSysuserswherestatus='2'andislogin='1'islogin='1'表示帐户islogin='0'表示角色status='2'表示用户帐户status='0'表示糸统帐户2.获取所有数据库名:SELECTNameFROMMaster..SysDatabasesORDERBYName3.获取所有表名SELECTNameFROMDatabaseName..SysObjectsWhereXType='U'ORDER 阅读全文
posted @ 2013-07-11 17:08 Nina 阅读(419) 评论(0) 推荐(0)
摘要:方法一: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 阅读全文
posted @ 2013-07-09 16:59 Nina 阅读(295) 评论(0) 推荐(0)
摘要: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 阅读全文
posted @ 2013-07-09 16:55 Nina 阅读(319) 评论(0) 推荐(0)
摘要: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 阅读全文
posted @ 2013-07-09 16:44 Nina 阅读(530) 评论(0) 推荐(0)
摘要:http://www.cnblogs.com/buro79xxd/category/302462.html 阅读全文
posted @ 2013-07-09 16:40 Nina 阅读(171) 评论(0) 推荐(0)
摘要:http://www.jcwcn.com/article/database/oracle/今天上班犯了一个严重的错误:把我们系统所使用的Oracle数据库中的数据给改掉了!当发现自己改错时,顿时冒了一身冷汗。不过转念一想,我们不是定期作了数据库备份的嘛,适当的恢复一下,应该不会出现太大的问题吧,因为我只是错误的使用了一个update语句。问题是这样的:我们给系统创建了两个用户:com和comtest。前者存放的是正式库数据,后者存放的测试库数据。它们都有一个taw_rm_user表,存放了使用该系统的用户基本信息,我就是把其中的password字段全部改成了123456。DMP备份文件是9月2 阅读全文
posted @ 2013-07-09 16:16 Nina 阅读(398) 评论(0) 推荐(0)
摘要:oracle 数据类型:字段类型 中文说明 限制条件 其它说明 -----------------------------------------------------------------------------------------------------------------------------------CHAR 固定长度字符串 最大长度2000 bytes VARCHAR2 可变长度的字符串 最大长度4000 bytes 可做索引的最大长度749 NCHAR 根据字符集而定的固定长度字符串 最大长度2000 bytes NVARCHAR2 根据字符集而定的... 阅读全文
posted @ 2013-07-09 11:43 Nina 阅读(251) 评论(0) 推荐(1)
摘要:http://www.cnblogs.com/rootq/category/149969.html1)选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.(2)WHERE子句中的连接顺序.:ORACLE采用自下而上的顺序解析WHERE子句,根据这 阅读全文
posted @ 2013-07-09 09:07 Nina 阅读(210) 评论(0) 推荐(1)
摘要:存储过程 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... 阅读全文
posted @ 2013-07-08 17:10 Nina 阅读(238) 评论(0) 推荐(0)
摘要:一、Oracle临时表知识 在Oracle中,临时表分为SESSION、TRANSACTION两种,SESSION级的临时表数据在整个SESSION都存在,直到结束此次SESSION;而 TRANSACTION级的临时表数据在TRANACTION结束后消失,即COMMIT/ROLLBACK或结束SESSION都会清除 TRANACTION临时表数据。 1) 会话级临时表 示例 1创建 Sql代码 createglobaltemporarytabletemp_tbl(col_avarchar2(30)) oncommitpreserverowscreate global temporary .. 阅读全文
posted @ 2013-07-08 17:08 Nina 阅读(3180) 评论(0) 推荐(0)
摘要:想找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 阅读全文
posted @ 2013-07-02 15:51 Nina 阅读(200) 评论(0) 推荐(0)
摘要:今天 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 工具)來試試吧 阅读全文
posted @ 2013-07-02 13:49 Nina 阅读(1520) 评论(0) 推荐(0)
摘要:有朋友在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 阅读全文
posted @ 2013-07-02 13:40 Nina 阅读(415) 评论(0) 推荐(0)
摘要:有朋友問「如何直接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' 阅读全文
posted @ 2013-07-02 13:37 Nina 阅读(743) 评论(0) 推荐(0)
摘要:排名函数是SQL Server2005新加的功能。在SQL Server2005中有如下四个排名函数:1.row_number2.rank3.dense_rank4.ntile 下面分别介绍一下这四个排名函数的功能及用法。在介绍之前假设有一个t_table表,表结构与表中的数据如图1所示:图1其中field1字段的类型是int,field2字段的类型是varchar一、row_number row_number函数的用途是非常广泛,这个函数的功能是为查询出来的每一行记录生成一个序号。row_number函数的用法如下面的SQL语句所示:selectrow_number()over(order. 阅读全文
posted @ 2013-04-22 13:27 Nina 阅读(480) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 ··· 14 下一页