随笔分类 -  Oracle 数据库

Oracle数据库应用技巧与经验
摘要:1.在C# 中我们可以通过DataSet 来接收多个数据集,但在Delphi 中没有这样的集合对象,因此处理起来稍微麻烦点,不过还是能处理的。这里举个例子: Oracle Code --包头 create or replace package mypackage is type cur_type i 阅读全文
posted @ 2023-11-05 13:15 丹心石 阅读(220) 评论(0) 推荐(0) 编辑
摘要:#### 说明 >>instead of 触发器和其他触发器一样,只不过它特殊的地方是它直接作用的对象不再是基表,而是视图,这样在保证数据完整性时实现对表的级联更新非常有必要。 * 语法 ``` create or replace trigger 触发器名称 instead of insert or 阅读全文
posted @ 2023-07-31 15:37 丹心石 阅读(215) 评论(0) 推荐(0) 编辑
摘要:#### 单步调试是排查程序中逻辑错误的最直接的途径,sql server 中调试非常方便,即F11 即可进入调试模式。而oralce中的调试就需要进行一点点设置,这里记录一下plsql develop 单步调试的方法: * 首先,要有调试权限 否则报:调试报错,提示ORA-01031: insuf 阅读全文
posted @ 2023-07-27 18:00 丹心石 阅读(599) 评论(0) 推荐(0) 编辑
摘要:##### 同义词:同义词是对象的别名,不占用任何实际的存储空间,只在oracle 数据字典中保存其定义描述,在使用同义词时,oracle 会将其翻译为对象的名称 用途: 简化sql 语句 隐藏对象的名称和所有者 为分布式数据库的远程对象提供位置透明性 提供对数据库对象的公共访问 创建数据库链接的语 阅读全文
posted @ 2023-07-27 11:12 丹心石 阅读(261) 评论(0) 推荐(0) 编辑
摘要:#### 1.复制表 * 通过`create table tbName as select * from otherTbName ` 复制表 **注意事项** 只复制数据,不复制约束: 通过该命令赋值的表,在源表中的约束、默认值、触发器和存储过程等对象,在复制后的目标中会丢失。 在执行赋值命令时,会 阅读全文
posted @ 2023-07-18 10:41 丹心石 阅读(23) 评论(0) 推荐(0) 编辑
摘要:#### 在编程语言中异常处理是必不可少的部分,plsql 也不例外,一个良好的提示能让调试和排查中少走很多弯路,简单记录一下oracle 异常处理中常用的部分: * pragma 用来定义异常标识符(系统已经定义了大部分异常标识符,即常量) 语法: `declare` e_20001; * 初始化 阅读全文
posted @ 2023-07-17 09:56 丹心石 阅读(86) 评论(0) 推荐(0) 编辑
摘要:####交叉表能清晰准确的反映出数据的关系,因此在实际应用中也经常见到,但是作为二维表格的关系型数据在统计时不能简单的通过查询来实现,这里以Oracle 为例简单介绍一下交叉表的查询: 百度模板图片: ![image](https://img2023.cnblogs.com/blog/391359/ 阅读全文
posted @ 2023-07-14 10:20 丹心石 阅读(370) 评论(0) 推荐(0) 编辑
摘要:##### 1. `null` 在其他数据库语言中,`null`表示 **未知**,因此不会出现 null=null 的情况,而Oracle 中的`null` 表示空,即没有的意思。因此可以null=null,下面以在实际应用中的几种结果来验证一下: * 连接 ``` select null fro 阅读全文
posted @ 2023-07-11 10:00 丹心石 阅读(47) 评论(0) 推荐(0) 编辑
摘要:#### Oracle Case 两种用法: *** ##### 注意事项: 在条件中一定要增加其他条件的处理或者默认值,否则遇到未包含条件会抛异常>在条件中一定要增加其他条件的处理或者默认值,否则遇到未包含条件会抛异常 ##### 1. 查询语句 * 语法: `select case` **fie 阅读全文
posted @ 2023-07-03 10:16 丹心石 阅读(684) 评论(0) 推荐(0) 编辑
摘要:####Dbms_Scheduler Oracle 10g 之前,可以使用dbms_job来管理定时任务: ``` dbms_job.submit(job=>outjob,what=>'pro_name;',next_date=>sysdate,inteval=>'sysdate+1/24'); ` 阅读全文
posted @ 2023-06-15 10:39 丹心石 阅读(937) 评论(0) 推荐(0) 编辑
摘要:#### sysdate 1.获取当前时间: ```plsql select sydate from dual; --2023-06-15 9:38:16 select trunc(sysdate+1) from dual; --明天 2023-06-16 通过trunc 截断时间,只保留日期部分 阅读全文
posted @ 2023-06-15 09:47 丹心石 阅读(67) 评论(0) 推荐(0) 编辑
摘要:#### Oracle 实现多表参照更新 ##### 参照T2 修改 T1 >>>表1 ![image](https://img2023.cnblogs.com/blog/391359/202306/391359-20230608172549575-842090592.png) 表2 ![image 阅读全文
posted @ 2023-06-08 17:48 丹心石 阅读(16) 评论(0) 推荐(0) 编辑
摘要:#### 包游标即在包头声明部分定义游标头,即游标的定义,把实现部分留给包体来完成,调用时可以通过包来调用,这样方便共享游标,实际实现功能类似视图。 * ###示例 >> * ####包头定义 ```pl/sql create or replace package mypackage is curs 阅读全文
posted @ 2023-05-25 21:46 丹心石 阅读(73) 评论(0) 推荐(0) 编辑
摘要:#### oracle 存储过程返回数据集是以游标参数的形式返回,同时返回多个数据集就相当于多几个输出类型的游标参数,而在程序处理中如何处理这种多结果集的存储过程? ##### 今天研究了Delphi7 和 c# 两种语言,D7 ODBC 方式连接,OraStoreProced 对象无法处理多个对象 阅读全文
posted @ 2023-05-24 10:15 丹心石 阅读(438) 评论(0) 推荐(0) 编辑
摘要:```plsql select dbms_random.value from dual; --产生一个0-1的随机数 select dbms_random.value(100,0) from dual;--产生一个0-100之间的小数 select dbms_random.normal from d 阅读全文
posted @ 2023-05-19 17:28 丹心石 阅读(44) 评论(0) 推荐(0) 编辑
摘要:集合-Test1 bulk collect into 批量插入,可用limit 限制插入行数 type ... is table of DataType Index by binary_Integer 其中 index by binary_integer 在定义schema级 type 时没有使用, 阅读全文
posted @ 2023-05-17 06:56 丹心石 阅读(9) 评论(0) 推荐(0) 编辑
摘要:动态数组语法: type <类型名> is table of 类型 index by binary_integer; <变量名> 类型名 示例: declare type jo_arr_type is table of pljson; --jo_arr_type 为表(数组)类型 jo_arr jo 阅读全文
posted @ 2023-05-05 08:53 丹心石 阅读(47) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示