oracle
sshmobai
我心向阳,用力生长。只要朝着阳光的方向努力,生活就会变得简单而美好。
展开
-
oracle:递归统计(多字段)
源数据表ID NAME PID VALUE1 VALUE2 VALUE3 1 一 0 1 2 3 2 二 1 10 20 30 3 三 2 100 200 300 sql语句select sum(t.value1) || ',' || sum(t.val...原创 2018-12-12 16:32:26 · 1071 阅读 · 0 评论 -
oracle:nvl函数另类使用
select nvl( (select t.pid from test where t.id = 'xxx'), 'yyy')from dual原创 2019-02-27 15:03:40 · 110 阅读 · 0 评论 -
oracle:指定索引
-- Create tablecreate table TEST( ID NUMBER, NUM NUMBER);create index INDEX_TEST_ID_NUM on TEST (ID, NUM) tablespace TEST pctfree 10 initrans 2 maxtrans 255 storage ( initi...原创 2019-01-18 15:30:11 · 569 阅读 · 0 评论 -
oracle:过滤重复数据,取最新的记录
-- Create tablecreate table TEST( ID NUMBER, NUM NUMBER);ID NUM 1 1 1 2 1 3 1 4 2 1 2 2 2 3 select * from(select t.id, t.num, row_number() over(pa...原创 2019-01-18 15:28:15 · 617 阅读 · 0 评论 -
ORA-00054: resource busy and acquire with NOWAIT specified
创建索引、删除表、修改表结构的时候报错误:ORA-00054:资源正忙,要求指定NOWAIT1 找出所有被锁的对象,定位出哪个回话占用select l.session_id,o.owner,o.object_namefrom v$locked_object l,dba_objects owhere l.object_id=o.object_id2 找出所有照成锁的会话...原创 2018-06-30 10:28:57 · 172 阅读 · 0 评论 -
PL/SQL:创建序列和触发器实现表自增字段
1 创建表2 创建序列-- Create sequence create sequence seq_test_idminvalue 1maxvalue 999999999start with 100increment by 1;3 创建触发器点击“确认”后,在弹出的窗口上,添加以下内容,并按键盘“F8”以执行:select seq_test_...原创 2018-08-08 17:34:34 · 567 阅读 · 0 评论 -
PLSQL:Dynamic Performance Tables not accessible
可以做以下尝试:1、Tools->Preferences->Options:把Automatic Statistics前的那个勾子去掉:保存2、grant 权限 to username原创 2018-08-08 17:44:17 · 257 阅读 · 0 评论 -
PL/SQL:database links
1 在被连接的数据库上,查看监听配置文件 2 tnsnames.ora 3 复制所需要连接用户的DESCRIPTOIN (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED...原创 2018-08-09 09:39:49 · 1423 阅读 · 0 评论 -
plsql:procedure:操作没反应(drop、edit)
select * from v$db_object_cache where name = 'UPDATE_THYDJW_RYBD_KH_TYPE7' and locks != '0'select sid from v$access where object = 'UPDATE_THYDJW_RYBD_KH_TYPE7'select sid, serial#, paddr from v$s...原创 2018-08-29 11:07:18 · 909 阅读 · 0 评论 -
oracle:MD5加密
CREATE OR REPLACE FUNCTION MD5(passwd IN VARCHAR2)RETURN VARCHAR2ISretval varchar2(32);BEGINretval := utl_raw.cast_to_raw(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING => passwd)) ;RETURN LOWER...原创 2018-09-03 11:45:29 · 201 阅读 · 0 评论 -
PL/sql:sqlite:表数据迁移(批处理:csv)
1 sql:select:F82 Export Query Results:CSV file3 用notepad打开,将第一行删除(只保留结果),然后将分号"去掉4 格式:UTF-85 下载安装sqlite36 解压、配置环境变量7 在命令行窗口:sqlite3.open D:/sqlite/db/test.db8 create tabl...原创 2018-09-03 12:01:55 · 331 阅读 · 0 评论 -
PL/SQL:通过select数据来源表返回的数据结果insert到目标表上:sys_guid()对应的id不一致
1、设置新表的id的Default值为:sys_guid(),nullable为空2、insert的sql语句数据源:select数据来源表的时候,不用再带sys_guid(),而目标表的insert into,不用带上id目标表:create table T_SYS_USER_ROLE( ID VARCHAR2(75) default sys_guid() not ...原创 2018-09-10 11:51:38 · 959 阅读 · 0 评论 -
PL/SQL:excel导入表
1、Tools:ODBC Importer:User/System DSN:Excel Files:Connect:选择excel文件:选择sheet2、切换Data to Oracle页签:(可以选择页签上的Create table,创建新表):可以选择general中的owner、table,并在fields中对应字段3、import注意:对于日期数据,应该在导入前做以下操作:选择列:数...原创 2018-10-16 15:47:11 · 263 阅读 · 0 评论 -
oracle:sql:查询性能
1、sql语法的分析是从右到左2、使用exists而不是in3、避免使用having子句原创 2018-10-16 15:15:12 · 132 阅读 · 0 评论 -
oracle:判断字段是否全是数字
select * from test twhere length(t.id) = 6and trim(translate(t.id, '0123456789', ' ')) is null原创 2018-11-27 15:27:11 · 950 阅读 · 0 评论 -
oracle:递归查询
select *from test--包括该id及其子节点connect by prior id = pid start with id = '?'--包括该id及其父节点--connect by id = prior pid start with id = '?'--仅其子节点--connect by prior id = pid start with pid = '?'--该...原创 2018-11-27 15:34:35 · 164 阅读 · 0 评论 -
oracle:procedure同步数据
CREATE OR REPLACE PROCEDURE INSERT_test ISBEGIN FOR RES IN( select * from v_test v where not exists (select t.systemid from t_tes...原创 2019-04-30 15:21:15 · 245 阅读 · 0 评论