随笔分类 -  数据库-02-Oracle

Oracle
摘要:有时候查询一条记录时需要保存多个值,这时就要into多个值 例如下面语句 select username,photo INTO V_USERNAME,V_PHOTO from user where userId='1'; 1、当存在多个记录的时候会报错,因此一般这种赋值语句都加一个rownum=1的 阅读全文
posted @ 2021-01-04 09:29 masha2017 阅读(906) 评论(0) 推荐(0)
摘要:instr是oracle的一个内置函数,用法如下: select instr('123456as','3') from dual 上面的意思是返回字符串'123456as'中'3'所在的位置,如上所示,最终返回的结果是3 而like只是作为一个判断条件来筛选数据。 select * from use 阅读全文
posted @ 2021-01-03 15:05 masha2017 阅读(1482) 评论(0) 推荐(1)
摘要:regexp_like就是使用正则表达式校验字符串是否符合规则 例如:判断‘123456as’是否是小数或者整数 SELECT '123' FROM dual where regexp_like('123456as','^[0-9\.]+$') 有时候判断条件中需要使用两个或者多个like操作的时候 阅读全文
posted @ 2021-01-03 14:42 masha2017 阅读(6770) 评论(0) 推荐(0)
摘要:有两种方式 1、第一种:使用WM_CONCAT函数,不过这个函数已经被oracle弃用了,不建议使用,如果数据库中还有这个函数也可以使用 select sfc_no,wm_concat(mark_operation_id) from bp_marking where create_date>sysd 阅读全文
posted @ 2020-12-31 11:46 masha2017 阅读(4820) 评论(0) 推荐(0)
摘要:CREATE OR REPLACE FUNCTION A_Test1(I_VAL VARCHAR2) RETURN VARCHAR2 is v_batch_col split_type; v_item_batch VARCHAR2(100); BEGIN select SPLIT(I_VAL,'@' 阅读全文
posted @ 2020-12-23 11:55 masha2017 阅读(1622) 评论(0) 推荐(0)
摘要:替换的作用 select replace('123123123','123','w') from dual 上面的意思是将字符串123123123中的123用w替换,最终输出的结果是www 这个函数可用于批量更新数据的时候 例如:把字段中存在医院的都替换为医2院 update demo set na 阅读全文
posted @ 2020-12-23 09:49 masha2017 阅读(2597) 评论(0) 推荐(0)
摘要:使用default即可。 CREATE OR REPLACE FUNCTION demo_fun(I_Names VARCHAR2,I_Age INTEGER DEFAULT 0,I_Sex VARCHAR2 DEFAULT '男') RETURN VARCHAR2 IS V_RESULT VARC 阅读全文
posted @ 2020-12-22 21:06 masha2017 阅读(548) 评论(0) 推荐(0)
摘要:CREATE OR REPLACE FUNCTION A_Test()RETURN SYS_REFCURSOR is type_cur SYS_REFCURSOR; BEGIN OPEN type_cur FOR select * from user; RETURN type_cur; END; S 阅读全文
posted @ 2020-12-22 20:27 masha2017 阅读(737) 评论(0) 推荐(0)
摘要:在oracle中,有时候需要对时间格式的字符串进行排序 比如说有个字段是TEST_TIME是varchar类型的,但是需要通过它对数据进行排序,就需要对字段进行to_date转换。但有时候数据中会出现脏数据(不能转换为date的数据)。导致报错。报错如下显示: 因此需要把脏数据给排除掉或者找出来删除 阅读全文
posted @ 2020-12-22 09:29 masha2017 阅读(2434) 评论(0) 推荐(0)
摘要:select Utl_Raw.Cast_To_Raw(sys.dbms_obfuscation_toolkit.md5(input_string => '123456')) from dual 最终返回的结果是:E10ADC3949BA59ABBE56E057F20F883E 阅读全文
posted @ 2020-12-13 16:24 masha2017 阅读(687) 评论(0) 推荐(0)
摘要:2020-12-14添加两个表 select * from user_tab_comments 获取用户表描述 select * from user_col_comments 获取用户表字段的描述 文件地址:https://i.cnblogs.com/files 2021-1-8添加一个表 func 阅读全文
posted @ 2020-08-11 09:44 masha2017 阅读(218) 评论(0) 推荐(0)
摘要:oracle的sequence并不能直接修改开始值,而是需要通过修改增量的值来间接修改开始值。 具体步骤如下: 1、先获取sequence的开始值:例如1000 2、然后把增量的值设置为-1000。 3、然后再次获取sequence的开始值:这时候就变成1了。(1000-1000+1) 4、最后需要 阅读全文
posted @ 2020-07-17 17:21 masha2017 阅读(977) 评论(0) 推荐(0)
摘要:背景:会议室系统需要不同时间段更新会议室预约的状态。就需要用到定时计划不断的自动更新状态。 1、创建一个job,右键job,点击新建。 2、填写sql、下一次执行日期、间隔 3、填写完成点击应用即可。 如何一次执行多条语句。只需用一个分号隔开即可。 关于下一个日期,只需手动填写即可。 关于间隔的填写 阅读全文
posted @ 2020-06-05 18:08 masha2017 阅读(1758) 评论(0) 推荐(0)
摘要:背景:会议室系统,若会议结束,则状态改为2。若正在会议,则状态改为1。若未开始,则状态改为0 update meeting_train_room_record a set a.state= case when a.end_time<=sysdate then '2' when a.start_tim 阅读全文
posted @ 2020-06-05 17:22 masha2017 阅读(1471) 评论(0) 推荐(0)
摘要:1、点击空白页面,然后选择测试窗口。 2、点击完之后就会弹出一个测试窗口的页面 3、然后就可以输入sql进行调试 -- Created on 2020/5/30 by 123 declare -- Local variables here i integer; O_MSG VARCHAR2(50); 阅读全文
posted @ 2020-05-30 14:39 masha2017 阅读(2130) 评论(0) 推荐(0)
摘要:1、首先写一个存储过程。 2、然后新建一个执行任务(jobs)调用存储过程就可以同步数据了。 3、如何同步数据 (1) 首先第一步:同步数据(把旧表的新增的数据导入到新表里面,注意这个sql语句只是同步了新增(用户名)的数据,并没有同步更改过的最新的数据(例如age修改之后并没有同步过去,新表的ag 阅读全文
posted @ 2020-04-22 11:29 masha2017 阅读(2595) 评论(0) 推荐(0)
摘要:1、java生成uuid string a = UUID.randomUUID().toString() 参考:https://blog.csdn.net/qq_36411874/article/details/80360207 2、C#生成uuid string a = Guid.NewGuid( 阅读全文
posted @ 2019-12-28 08:48 masha2017 阅读(516) 评论(0) 推荐(0)
摘要:create or replace trigger TIG_USER before update on "USER" for each row begin select sysdate into :new.update_date from dual; exception when others th 阅读全文
posted @ 2019-09-07 14:59 masha2017 阅读(6284) 评论(0) 推荐(0)
摘要:使用insert all into 向oracle数据表中一次性插入多条数据的时候,使用序列号sequence。 然后发现插入的数据是一样的,即插入的两条数据获取的序列号的值是一样的。所以这里要注意一下。 处理方法:可以参考下面的博客。很详细 https://blog.csdn.net/gnail_ 阅读全文
posted @ 2019-08-26 17:22 masha2017 阅读(1878) 评论(0) 推荐(0)
摘要:一直想做一个部门的增删改查功能,终于发现了oracle实现部门的增删改查很简单。 1、创建数据表 一个简单的数据层级表字段 id 部门ID name 部门名称 levels 层级(当前部门是属于第几层部门:例如一级部门、二级部门、三级部门等等) parent_id 直属父级部门的id(例如:二级部门 阅读全文
posted @ 2019-07-24 18:40 masha2017 阅读(530) 评论(0) 推荐(0)