oracle
小科比000
程序媛。。。
展开
-
PL\SQL过期处理注册表编辑器
PL\SQL过期处理注册表编辑器原创 2022-12-29 09:27:52 · 522 阅读 · 0 评论 -
oracle中时间赋默认值为固定某个时间
数据库有个时间字段要求插入为空时默认赋值’9999-12-23 23:59:59’,设置默认值时用了to_date('9999-12-23 23:59:59','yyyy-MM-dd HH:mm:ss'),应用时一直报错后查询发现:ORACLE对HH这种格式支持的不好。可以修改成如下格式 yyyy-MM-dd hh24:mi:ss 这种格式果然修改了格式就应用成功了!...原创 2020-09-21 16:24:31 · 1685 阅读 · 0 评论 -
oracle 把查询结果插入到表中
1.把一张表的查询结果直接生成并导入一张新表中例如:现有只有A表,查询A表,并且把结果导入B表中。create table b as select * from a; 2.把查询结果导入到另外一张表中例如:有两个表A和B两个表的表结构不相同,但要插入的字段类型相同:insert into B(字段名)(select 字段名 from A) ;两个表的表结构相同:insert into B select * from A; 如果不在同一个schema下请在表名前加上schemains原创 2020-08-07 15:49:03 · 4581 阅读 · 0 评论 -
分页查询
DB2中分页查询的sql语句:SELECT * FROM( SELECT ROW_NUMBER() OVER(ORDER BY col1 ASC, col2 ASC, col3 ASC) AS ROWNUM,* FROM TABLE) aWHERE ROWNUM > ? AND <= ?mysql中的分页查询sql语句:select * from table [查询条件] order by id limit ?,? 以从MySQL数据库表中第M+1条记录开始检索N原创 2020-07-10 19:17:45 · 111 阅读 · 0 评论 -
procedure存储过程创建执行
1.创建存储过程create or replace procedure PRO_RELATION(SY in char, DY in char) [authid current_user] as sql_stmt VARCHAR2(5000);begin --PRO_RELATION是存储过程名称 --SY,DY是需传值的参数 --authid current_user解决存储过程中有权限问题 sql_stmt := 'create table B33_PES.PE_RELATION原创 2020-07-10 17:56:42 · 876 阅读 · 0 评论 -
列转行/字段拼接/字段截取/替换
1.listagg函数listagg(logname,',') within group (order by phone) ... group by phonelogname----需要显示的字段,----数值之间的分隔符within group (order by phone)----排序和分组group by phone----必须得分组举例:将员工号按照比例分成降序拼接起来,一致的用,分隔开展现成一个值,最后按银行号降序排列显示select t.yhangh, lis原创 2020-07-10 16:49:25 · 737 阅读 · 0 评论 -
merge into的用法
merge into t1 using t2 on t1.yhangh=t2.yhanghwhen matched then update set t1.ygongh_now=t2.ygongh,t1.bilifc_now=t2.bilifcwhen not matched then insert (yhangh,ygongh_now,bilifc_now) values(t2.yhangh,t2.ygongh,t2.bilifc)merge into 的用法:如上例子,表示的是表t1和表t2的字段原创 2020-07-10 15:58:03 · 2685 阅读 · 0 评论 -
procedure存储过程中的if else
create or replace procedure pro_common_callback( srctablename in varchar2, desttablename in varchar2, optygongh in varchar2)is v_select_sql varchar2(2000);begin if desttablename='T_LS_CHECK_QULIFICATION' thenbeginv_select_sql:='insert into T_LS_C原创 2020-07-10 15:32:24 · 1808 阅读 · 0 评论 -
function自定义函数
数据库中都有函数,有些函数属于系统函数,有些是自定义函数。用户定义函数是存储在数据库中的代码块,可以把值返回到调用程序。调用时如同系统函数一样,如max(value)函数,其value被称为参数。数据库函数特点如下:1.存储函数将向调用者返回一个且仅返回一个结果值。2.存储函数嵌入在sql中使用的,可以在select中调用,就像内建函数一样,比如cos()、hex()。3.存储函数的参数类型类似于IN参数。自定义函数简单语法:create or replace function processd原创 2020-07-10 15:22:38 · 946 阅读 · 1 评论 -
trunc函数
trunc(n,m)1.若n为数值,作用截取数字(1)m不写或为0则保留到个位eg:select trunc(145.567,0) from dual;//145(2)m为正数,m为几,截取几位小数点eg:select trunc(145.567,2) from dual;//145.56(3)m为负数,则表示保留到十位以上的数字eg:select trunc(145.567,-2) from dual;//100eg:select trunc(45.567,-2) from dual;//原创 2020-07-10 15:18:33 · 11275 阅读 · 0 评论 -
权限
创建在不同数据库中的表之间需要授予权限1.grant授予权限–赋予数据库b33_bdp对b33_pes中表pe_relation_today进行查询的权限grant select on b33_pes.pe_relation_today to b33_bdp;–赋予数据库b33_bdp对表b33_pes.pe_relation_today进行插入数据的权限grant insert on b33_pes.pe_relation_today to b33_bdp;–赋予数据库b33_bdp对表b33原创 2020-07-10 15:08:36 · 158 阅读 · 0 评论 -
序列
1.创建序列语法:create sequence sequence_name[start with i][increment by j][maxvalue m | nomaxvalue][minvalue n | minvalue][cycle | nocycle][cache p no cache]–序列的第一个值为i,默认为1;–步进是j,默认为1,如果j是正数,表示递增,如果j是负数,表示递减;–最大递增到m,最小递增到n,默认没有最大值和最小值;–cycle循环生成,默认不原创 2020-07-10 15:02:48 · 107 阅读 · 0 评论 -
索引
索引数据库对象之一,加快查询效率的机制,索引的应用是数据库自行完成的1.创建索引语法: create index 索引名称 on 表名(加索引的列)create index idx_emp_job_sal on emp(job,sal);create index idx_emp_upper_ename on emp(upper(ename));注:在什么情况下,like都不会使用到索引2.修改索引alter index idx_emp_job_sal rebuild 3.删除索引dr原创 2020-07-10 14:56:26 · 156 阅读 · 0 评论 -
求和函数,滑动向上/向下取值函数
1.sum(a) over ()对a列所有值进行求和sum(a) over (order by b)根据b列排序后,求a列第一行到当前行的所有值的和2.sum(a) over (partition by b,c)在b,c分组的结果上,进行a列所有值的求和sum(a) over (partition by b,c order by d)同1类似,在b,c分组中根据d排序后,求a列第一行到当前行的所有值的和3.lag(a,1,null) over ()向上滑动去a列当前行的上一行的数值,取不到的值为原创 2020-07-10 12:38:05 · 1158 阅读 · 0 评论 -
cmd连接oracle
1.以超级管理员方式登录sqlplus回车数据用户名为sys密码123 as sysdba2.连接远端数据库数据库E:\oracle11\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora文件中增加数据库连接ORCL_244 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xx.xxx.xxx)(PORT = 1521)) (CONNECT_DATA =原创 2020-07-07 11:22:03 · 1257 阅读 · 0 评论 -
PL/SQL如何自定义快捷键
1.configure下找到首选项preferences,在下图位置编辑自定义快捷键文件2.如果之前存在则可以选择替换原文件,也可以重新创建一个文件3.SQL Window界面输入快捷键+空格,则会出现定义好的语句原创 2020-06-19 10:21:45 · 607 阅读 · 0 评论 -
PL/SQL Developer记住登录密码
1.在已经登录成功的界面上,找到首选项2.弹出来的窗口中的左侧页面选中登录历史,固定用户,在里边添加用户名/密码@连接格式,eg:xkb/xkb123@orcl3.apply应用ok设置成功后,我们可以在登录界面快速选择进入也可以在已经登录的界面切换数据库...原创 2020-06-19 10:12:09 · 407 阅读 · 0 评论 -
and 和or的执行优先级问题
代码中发现的问题:首先我的表结构如下我需要查询出环境变量envi为0情况下历史标志为1或者是否有效为1的结果刚开始sql为:select * from test where envi=0 and lsbz=1 or sfyx=1逻辑上好像没有问题,但是结果不如意,在查询结果中发现有envi=1的情况进行sql:select * from test where envi=0 or sfyx=1 and lsbz=1;查询结果得到:不管and or位置怎样放置,查询结果一致想起来都把基础忘记了原创 2020-05-09 14:03:29 · 8005 阅读 · 0 评论 -
oracle不足位数补零的实现sql语句
select rpad(‘AAA’,5,‘0’) from dual; 这样就可以了【注意】1.'AAA’为待补字符;5表示补齐后的总字符长度;0表示不足时补什么字符2.rpad是右侧补0,左侧补0可用lpad图示:...原创 2020-05-07 17:18:00 · 2532 阅读 · 0 评论 -
数据库中查询某个表属于哪个用户
查询语句是:select owner from dba_tables where table_name=upper(‘表名’);不过这个要求你当前登录的用户权限为dba才行,或有查询这个视图的权限才行。原创 2019-04-10 15:48:09 · 13886 阅读 · 8 评论