我很少用Oracle,也算新手,不过其实入手没有那么难,下面只是一个基本知识,高手绕道,其实数据库基本是相同的,这里提供都是基本知识点 有一个Oracle溢出的问题,容易让新手怀疑到无所怀疑,其实就是在做除法的时候长度太长导致,所以要用一个round来解决这个新手注意不到问题 其他的确实没有什么可说的看注释 declare vs_string  VARCHAR2(2000); vn_number  NUMBER; vc_cur     SYS_REFCURSOR; vl_row     wx_s…
一.返回一个值 --创建存储过程 create or replace procedure sp_hu_test(spcode in varchar2,spname out varchar2)is begin select cname into spname from gb_customerinfo where ccode = spcode; end; //java代码调用和接受返回值 public static void main(String[] arg) { try { Class.forN…
例子: create or replace procedure p_xl is v_count NUMBER(10); begin for rs in(select yhbh from dbyh) loop v_count := osm_pkg_arc_limited_configs.F_LIMITED_METERS_CREATE('rs.yhbh', 10001,---限量用水id sysdate, 201706, 0.00, 10000); end loop; commit;end p_xl…
作为一个oracle界和厨师界的生手,笔者想给大家分享讨论下存储过程的知识,因为在我接触的通信行业中,存储过程的使用还是占据了一小块的地位. 存储过程是什么?不得不拿下百度词条的解释来:"存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中, 经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它.存储过程是数据库中的一个重要对象." 其实就似我们经过一系列的材料准…
(转)在PB中用oracle的存储过程返回记录集做数据源来生成数据窗口 首先oracle的存储过程写法与MSSQL不一样,差别比较大. 如果是返回数据集的存储过程则需要利用oracle的包来定义游标. 但是若按正规的oracle写法,存储过程写在包体里面, 如果这样的话,PB会找不到此存储过程(如果用直连的方式)(如果用ODBC的方式则有可能不能正常识别存储过程的参数) 因此我们需要将存储过程单独写. 首先我们来看下oracle正规的返回结果集的存储过程的写法 方法一: create or re…
在前面学习了存储过程的开发.调试之后,我们现在就需要来使用存储过程了.简单的使用,像上篇<懵懂oracle之存储过程2>中提到的存储过程调用,我们可以将写好的存储过程在另一个PL/SQL块亦或是另一个存储过程中调用执行,而很多情况下,我们往往需要定时执行这个存储过程,那么我们就需要使用到Oracle的JOB,让我们的数据库可以定期的执行特定的任务. 下面就让我们来了解下JOB的方方面面: 在Oracle 10g以前,Oracle提供了dbms_job系统包来实现job,到Oracle 10g时…
oracle的存储过程的作用 1.存储过程可以使得程序执行效率更高.安全性更好,因为过程建立之后 已经编译并且储存到数据库,直接写sql就需要先分析再执行因此过程效率更高,直接写sql语句会带来安全性问题,如:sql注入  2.建立过程不会很耗系统资源,因为过程只是在调用才执行.3.存储过程可以用于降低网络流量,存储过程代码直接存储于数据库中,所以不会产生大量T-sql语句的代码流量. 4.使用存储过程使您能够增强对执行计划的重复使用,由此可以通过使用远程过程调用 (RPC) 处理服务器上的存储…
一.MERGE INTO语句 1.merge into语句的功能:我们操作数据库的时候,有时候会遇到insert或者Update这种需求.我们操纵代码时至少需要写一个插入语句和更新语句并且还得单独写方法效验数据是否存在,这种操作完全可以用merge into语句代替,不仅省时省力而且条理更清晰,一个SQL语句直接完成插入,如果有相同主键进行更新操作. 使用场景:判断B表和A表是否满足ON中条件,如果满足则用B表去更新A表,如果不满足,则将B表数据插入A表或者更多的操作. 2.具体SQL:下边sq…
oracle数据库存储过程中NO_DATA_FOUND不起作用 1.首先创建一个表lengzijiantest,表中只有一个字段f_id ? 1 2 3 4 5 [cpp] CREATE TABLE LENGZIJIANTEST  (    F_ID  NUMBER                                  NOT NULL  ) 2.插入一条数据 ? 1 2 [cpp] insert into lengzijiantest values (1) 3.现在表里面只有一条数…
是一个可以用编程的方式来操作SQL的集合. | |目录 1什么是存储过程? 2存储过程的优点? 3存储过程的缺点? 4存储过程的用途? 5存储过程注意事项? 6如何写存储过程? 7如何执行存储过程? 8如何调试存储过程? 1什么是存储过程? 是一个可以用编程的方式来操作SQL的集合. 2存储过程的优点? 执行效率很高,因为存储过程是预编译的,即创建时编译,而SQL语句是执行一次,编译一次.调用存储过程可以大大减少同数据库的交互次数. 降低网络通信量,因为存储过程执行的时候,只需要call存储过程…
oracle的存储过程优缺点 1.存储过程可以使得程序执行效率更高.安全性更好,因为过程建立之后 已经编译并且储存到数据库,直接写sql就需要先分析再执行因此过程效率更高,直接写sql语句会带来安全性问题,如:sql注入 2.建立过程不会很耗系统资源,因为过程只是在调用才执行. 3.存储过程可以用于降低网络流量,存储过程代码直接存储于数据库中,所以不会产生大量T-sql语句的代码流量. 4.使用存储过程使您能够增强对执行计划的重复使用,由此可以通过使用远程过程调用 (RPC) 处理服务器上的存储…
转: Oracle的存储过程基本写法 目录 1.1,Oracle存储过程简介: 1.2,创建存储过程的语法: 2.0,游标的使用.看到的一段解释很好的概念,如下: 回到顶部 1.1,Oracle存储过程简介: 存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的. 优点: 允许模块化程序设计,就是说只需要创建一次过程,以后在程序中就可以调用该过程任意次. 允许更快执行,如…
十几年没有用oracle的存储过程了,有些东西已经忘了,没有想到今天又要用.在这里写个例子.它演示了存储过程的格式,游标的使用,循环.判断的使用,还有直接执行一个拼接的SQL的用法.以下是代码: create or replace procedure wanglc_test is v_table_name ); v_sql ); cursor cur_get_users is select username, created from all_users; v_username ); v_cre…
原文链接:https://blog.csdn.net/zezezuiaiya/article/details/79557621 Oracle/PLSQL存储过程详解 2018-03-14 17:31:55 平静的起步吧 阅读数 9866更多 分类专栏: 存储过程   一.在plsql中创建一个存储过程 打开plsql,右键procedures,新建.如果新建毫无反应直接文件-新建-程序窗口-空白,新建一个程序窗口:  存储过程创建语法: create [or replace] procedure…
导读:在oracle数据库存储过程中如果用了select语句,要么使用"select into 变量"语句要么使用游标,oracle不支持单独的select语句. 先看下这个存储过程: create or replace procedure pro_test  is  begin  select * from t_test;  end pro_test; 这个存储过程正确吗? 昨天因为这个,耽误了好久(在一个存储过程中用了select语句,但既没有用游标也没有用into). 在存储过程…
在Oracle下创建一个test的账户,然后 1.创建表:STOCK_PRICES --创建表格 CREATE TABLE STOCK_PRICES( RIC VARCHAR() PRIMARY KEY, PRICE NUMBER(,), UPDATED DATE ); 2.插入测试数据: --插入数据 INSERT INTO stock_prices values(',1.0,SYSDATE); INSERT INTO stock_prices values(',2.0,SYSDATE); I…
1.ORA-00942: table or view does not exist 指的你要操作的表尚未存在,需要先create出来先. 2.ORA-00922: missing or invalid option 指的是有语法错误.遗漏了分号什么的 3.Warning: Procedure created with compilation errors 比如  create or replace procedure p_test_pro1 is     begin       insert i…
本文同步更新在: https://github.com/whxaxes/blog/issues/4 ,在 github 看文章显示效果会更好一些. 前言 不知不觉就很长时间没造过什么轮子了,以前一直想自己实现一个模板引擎,只是没付诸于行动,最近终于在业余时间里抽了点时间写了一下. 因为我们的项目用的是 nunjucks ,于是就想实现一个类似的模板引擎.当然只是写着练手而已,也没想着实现全部功能. 功能分析 一个模板引擎,在我看来,就是由两块核心功能组成,一个是用来将模板语言解析为 ast(抽象…
上篇<懵懂oracle之存储过程>已经给大家介绍了很多关于开发存储过程相关的基础知识,笔者尽最大的努力总结了所有接触到的关于存储过程的知识,分享给大家和大家一起学习进步.本篇文章既是完成上篇文章中未来得及总结的关于存储过程的调用.测试等知识的汇总分享,也是对上篇文章的存储过程的一个调试改错过程(由于知识的局限性和书写时的疏忽等,之前的存储过程有误之处难免,正在不断更改中,如果能得到大家的指正将使这个工作进行地更快更好,助人为快乐之本!). 下面步入正题,介绍本篇知识汇总和分享: 一.存储过程的…
概述 最近因为业务的需求写了一段时间存储过程,发现之前写的存储过程存在一些不严谨的地方,特别是TRY...CATCH中嵌套事务的写法:虽然之前写的并没有错,但是还是埋藏着很大的隐患在里面.希望这篇文章能给大家一些参考:文章内容有点长还望耐心阅读. 1.插入测试数据 ----创建表 DROP TABLE score GO CREATE TABLE [dbo].[score]( id ,), name ) NOT NULL, score ), months INT NOT NULL, createt…
网站中,许多页面的侧边栏是相同的.例如: 分类列表页,与文章详情页的侧边栏都包含 最新文章 最新评论 统计计数 这些相同的侧边栏数据也是动态的,并不是固定的. 在每个 controller 里都写一遍数据读取逻辑,并赋值给模板,这样做有几个弊端 重复编码量不小.即使提取成函数,也要手动将变量传递给模板,controller 中无法专注于业务逻辑 不利于模块化 简单粗暴的做法 - 全局 view share 之前,我用了一种简单粗暴的解决方案: 在 app/Providers/AppService…
作者:iamlaosong 唉,真土,曾经用Toad.一直用dbms_output.put_line调试存储过程,仅仅认为不方便,用上PL/SQL Developer后,习惯性的还是用这种方法.人都是有惰性的.今天分析存储过程生成的数据,实在认为不便,网上搜了一下,PL/SQL Developer中调试oracle的存储过程的方法,事实上非常easy.我知道学会使用PL/SQL Developer的调试功能,对于编写复杂的存储过程,包,funtion...非常有帮助,对运行存储过程形成的结果进行…
firedac调用ORACLE的存储过程 EMB官方原文地址:http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Using_Oracle_with_FireDAC 笔者下面做的是中文翻译: ORALCE的存储过程,相比MSSQL,多了一个PACKAGE(包). 因此FIREDAC调用也稍有点不同. ORACLE创建存储过程的样例脚本如下: CREATE OR REPLACE PACKAGE FDQA_TestPack AS TYPE TVC2Tb…
什么是handlebars? handlebars库是另外一个模板引擎,他继承mustache(胡子),感觉没有jade(珠宝)好听,他不允许在模板中写很多JavaScript的逻辑.这有助于保持模板的简洁. handlebars语法 handlebars需要严格的书写html的标签!!!...光是这一点,我感觉就没有jade好用啊. 变量 demo <h1>{{title}}</h1> <h1>{{body}}</h1> 数据: { title:"…
在本系列学习随笔中的第2节我们留下了2个问题,我们现在讨论在out参数中使用光标. 1.要在out参数中使用光标,我们需要申明一个包的结构,包的结构分为包头和包体,包头只负责申明,包体只负责实现.包头.包体也是数据库中的对象,与表是同一级别类型. 应用场景举例:查询某部门所有员工的所有信息 包头:根据以下步骤创建 命名包名:mypackage: 在包中编写我们自己的存储过程或者存储函数: 按下键盘ctrl+s,sql developer将自动存盘并且进行编译: 接下来我们创建包的主体: 将会自动…
上一小结我们简单介绍了存储过程和存储函数,对存储过程和存储函数有了一个基本的了解,接下来介绍在java程序中如何调用我们创建的存储过程和存储函数 1.在应用程序中调用我们的存储过程 创建一个简单的Java工程,如:TestOracle,在项目中新建lib文件夹,并拷贝ojdbc14.jar,添加到系统路径中,目录结构如下: 在项目中创建一个用于连接数据库以及与数据库执行交流的工具类JDBCUtils.java package demo.utils; import java.sql.Connect…
jQuery-jTemplate.js下载:http://jtemplates.tpython.com/ 一 , 简单介绍 它是一个基于jQuery开发的javascript模板引擎.它主要的作用如下: . 通过JavaScript获取JSON形式的数据: . 获取一个HTML模板,与数据相结合,生成页面HTML. 二 , 快速上手 先来看一个简单的例子: <script type="text/javascript" src="jquery-1.2.6.pack.js&…
在oracle下创建一个test的账户,然后按一下步骤执行: 1.创建表:STOCK_PRICES --创建表格CREATETABLE STOCK_PRICES( RIC VARCHAR(6) PRIMARYKEY, PRICE NUMBER(7,2), UPDATED DATE ); 2.插入测试数据: --插入数据INSERTINTO stock_prices values('1111',1.0,SYSDATE);INSERTINTO stock_prices values('1112',2…
1. SQL链接ORACLE 都是可视化的操作 如下图: 红色框选的是oracle的数据驱动,如果没有这个驱动 那需要单独安装oracle的client端 装完以后就有了. 2.在创建之前,在SQLSERVER中,链接服务器->访问接口->OraOLEDB.Oracle->右键属性,选中 “Allow inprocess” (中文为:允许进程内) 这一步是使我们选择的OraOLEDB.Oracle接口打开执行操作. 如未设置会报如下错误:“无法初始化链接服务器 “null” 的 OLE…
Oracle使用存储过程实例: 例1: //查出表字段赋值给存储过程变量 create proc proc_stu @sname varchar(20), //默认是输入参数(input),另外还有两种类型 (output)(input output) @pwd varchar(20) as select * from ren where sname=@sname and pwd=@pwd go 查看结果:proc_stu 'admin','admin' 例2: //实现用户验证 下面的存储过程…