SQL
文章平均质量分 76
tooby
这个作者很懒,什么都没留下…
展开
-
DB2错误码
DB2错误信息(按sqlcode排序)sqlcodesqlstate说明00000000SQL语句成功完成 01xxxSQL语句成功完成,但是有警告+01201545未限定的列名被解释为一个有相互关系的引用+09801568动态SQL语句用分号结束+10002000没有找到满足SQL语句的行...原创 2013-11-21 10:03:02 · 135 阅读 · 0 评论 -
oracle修改“NLS_NCHAR_CHARACTERSET”字符集
测试数据库的NLS_NCHAR_CHARACTERSET和正式环境不一致,需要由UTF8修改为AL16UTF16。1、停数据库SQL> alter system checkpoint;System altered.SQL> alter system checkpoint;System altered.SQL> alter system switch l...原创 2014-10-21 18:03:39 · 3141 阅读 · 0 评论 -
修改Oracle NLS_CHARACTERSET字符集
NLS_CHARACTERSET是数据库字符集,NLS_NCHAR_CHARACTERSET是国家字符集 ORACLE中有两大类字符型数据,VARCHAR2是按照数据库字符集来存储数据。而NVARCHAR2是按照国家字符集存储数据的。同样,CHAR和NCHAR也一样,一是数据库字符符,一是国家字符集。 字符集不同,二进制码的组合就不同。 首先用sys用户登陆oracle#sqlplus ...原创 2014-10-21 18:02:47 · 1697 阅读 · 0 评论 -
Oracle 列行转换
行列转换包括以下六种情况: *列转行 *行转列 *多列转换成字符串 *多行转换成字符串 *字符串转换成多列 *字符串转换成多行 下面分别进行举例介绍。 首先声明一点,有些例子需要如下10g及以后才有的知识: a。掌握model子句, b。正则表达式 c。加强的层次查询 讨论的适用范围只包括8i,9i,10g及以后版本。begin:1、列转行 CREATE TABLE t_col_row( ID...原创 2014-03-10 16:19:51 · 113 阅读 · 0 评论 -
oracle over()
SQL code: sql over的作用及用法RANK ( ) OVER ( [query_partition_clause] order_by_clause )DENSE_RANK ( ) OVER ( [query_partition_clause] order_by_clause )可实现按指定的字段分组排序,对于相同分组字段的结果集进行排序,其中PARTITION BY 为分组字段,O...原创 2014-07-29 17:14:57 · 82 阅读 · 0 评论 -
Oracle错误代码
ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出最大进程数 () ORA-00021: 会话附属于其它某些进程;无法转换会话 ORA-00022: 无效的会话 ID;访问被拒绝 ORA-00023: 会话引用进程私用内存;无法分离会话 ORA-...原创 2014-02-19 17:29:52 · 113 阅读 · 0 评论 -
DB2 游标遍历
While方式:BEGIN -- 暂存变量. DECLARE v_id VARCHAR(10); DECLARE v_value VARCHAR(10); DECLARE SQLCODE INT; -- 定义游标. DECLARE c_test_main CURSOR FOR SELECT ID, VALUE FROM TES...原创 2014-01-16 15:08:44 · 980 阅读 · 0 评论 -
Oracle删除以XX开头的表的数据
delete from T04001QUESTION_INF; for t in (select table_name from user_tables where table_name like 'T03%' or table_name like 'T06%' or table_name like 'T08%' ) loop execute immediate 'delete from...原创 2014-05-29 14:25:40 · 3330 阅读 · 0 评论 -
Oracle 在v$sqlarea中查询最近执行过的sql,过长的sql_text显示不全
根据SELECT * FROM v$sqlarea中找到hash_value 然后执行 SELECT * FROM v$sqltext WHERE hash_value = '&hash_value' ORDER BY piece 即可得到完整的sql语句原创 2014-05-27 14:41:41 · 3029 阅读 · 0 评论 -
Oracle 视图 v$sql,v$sqlarea,$sqltext,v$sqltext_with_newlines 的差异
视图 v$sql,v$sqlarea,v$sqltext,v$sqltext_with_newlines 是几个经常容易混淆的视图,主要是提供library cache中当前缓存的sql语句的信息。这几个视图都可以提供当前有关sql语句的具体信息,但稍有差异。本文主要描述其差异并给出实例。 一、sql语句与游标 sql语句,这个没什么好说的,就是按照sql标准书写的sq...原创 2014-05-27 14:32:08 · 227 阅读 · 0 评论 -
Oracle 查看日志
select t.sql_text,t.LAST_ACTIVE_TIME from v$sqlarea t order by t.LAST_ACTIVE_TIME desc nulls last ;原创 2014-05-21 18:32:50 · 216 阅读 · 0 评论 -
ORACLE SELECT INTO NO_DATA_FOUND问题
存储过程中使用了类似如下语句:SELECT colINTO v_colFROM t_table当查询不到记录时,会出现“数据未发现”的异常 解决方法:(1)使用MAX函数SELECT MAX(col)INTO v_colFROM t_table(2) 使用异常处理BEGIN SELECT col I...原创 2014-05-04 16:08:57 · 222 阅读 · 0 评论 -
DB2 技巧
日期格式化:select varchar_format(current timestamp,'yyyy-mm-dd hh24:mm:ss') from SYSIBM.DUAL--除了 varchar_format,还可以用to_charselect TO_CHAR(current timestamp, 'yyyy-mm-dd hh24:mi:ss') from SYSIB...原创 2013-12-18 10:36:38 · 100 阅读 · 0 评论 -
Oracle更新的两种方式(merge/update内联视图)
对于Oracle的两表联合更新的场景(有A、B两表,以A.id=B.id关联,根据B表中的记录更新A表中的相应字段),一般有update内联视图和merge两种方式,下面举例介绍:创建用例表:CREATE TABLE test1(ID NUMBER(10),NAME VARCHAR2(20));INSERT INTO test1 VALUES(1,'lucy');INSERT I...原创 2016-01-21 20:41:53 · 2697 阅读 · 0 评论