PL/SQL
明月镇魂
还要神马简述。
展开
-
update多个字段的写法
第一种写法:update a set (c1,c2,c3) =(select c1,c2,c3 from b where......) where ......;第二种写法比较笨:update test set a= '11 ',b = '22 ' where id=1例如:update omcw_owner.MR_RULE_RECORD set alarm_rule='转载 2015-06-01 00:37:54 · 37882 阅读 · 1 评论 -
Sqlplus中的VARIABLE以及使用VARIABLE之后使用execute。
variable命令:定义一个绑定变量,语法如下:VAR[IABLE] [variable [NUMBER|CHAR|CHAR (n)|NCHAR|NCHAR (n) |VARCHAR2 (n)|NVARCHAR2 (n)|CLOB|NCLOB|REFCURSOR]]原创 2014-05-11 21:16:11 · 3774 阅读 · 0 评论 -
PL/SQL中,declare定义变量和variable定义变量的区别?
用declare声明的变量作用在block中。variable是sqlplus中定义变量的命令。他定义的变量在一个sqlplus连接中有效。SQL> show userUSER 为"YANGTK"SQL> varSP2-0568: 未说明结合变量。SQL> var test numberSQL> var变量 test数据类型 NUMBERSQL> c转载 2014-05-11 20:38:53 · 7855 阅读 · 1 评论 -
oracle物化视图
一、物化视图的一般用法物化视图是一种特殊的物理表,“物化”(Materialized)视图是相对普通视图而言的。普通视图是虚拟表,应用的局限性大,任何对视图的查询,Oracle都实际上转换为视图SQL语句的查询。这样对整体查询性能的提高,并没有实质上的好处。1、物化视图的类型ON DEMAND、ON COMMIT。二者的区别在于刷新方法的不同,ON DEMAND顾名思义,仅在该物化视图“需转载 2014-05-18 19:25:06 · 485 阅读 · 0 评论 -
Oracle 视图备忘
建视图有三种模式:1、默认的模式,就是什么也不加。SQL code?1234567--可以更新的create or replace view view_a as select xxx from table_name;--不可以可以更新的c转载 2014-05-11 23:41:33 · 448 阅读 · 0 评论 -
Oracle 多表视图更新(待看完触发器后再来看)
1 前言 多表视图的定义:当视图的数据源只有一张数据表,则该视图为单表视图;当视图的数据源是多张数据表,则该视图为多表视图。 可更新视图的定义:在绝大多数人的概念中,视图是只读的,不允许修改。ORACLE 8i以上版本,单表视图如果没有设定With Read Only,则该视图是可以更新的,对视图的操作将直接写入的数据表中。 那么,如果视图的数据源是多张数据表,而多表视图如果实现可更新转载 2014-05-11 02:09:48 · 3610 阅读 · 0 评论 -
关于绑定变量、关于占位符
在PLSQL中使用EXECUTE IMMEDIATE语句处理动态SQL语句。语法如下:EXECUTE IMMEDIATE dynamic_string[INTO {define_variable[, define_variable]... | record}][USING [IN | OUT | IN OUT] bind_argument [, [IN | OUT |转载 2014-05-05 01:42:25 · 5013 阅读 · 0 评论 -
Merge into
占座,今天先睡觉了转载 2014-05-10 01:18:35 · 451 阅读 · 0 评论 -
动态SQL中的重复占位符如何与绑定变量进行绑定
BEGIN calc_stats(:x, :x, :y, :x); END 是一个PL/SQL 代码段,而非 insert into t6 (a,b,c) values (:x,:y,:x) 这样的DML,标准SQL语句。在EXECUTE IMMEDIATE 中,利用USING语句绑定变量时,Oracle遵循针对PL/SQL存储过程使用占位符名称匹配的原则,而针对SQL语句则采用占位符转载 2014-05-09 01:07:56 · 3072 阅读 · 0 评论 -
利用替换变量提高Oracle交互性(define)
想要提高Oracle交互性,通过定义与使用替换变量就可以实现了,下面就为您详细介绍利用替换变量提高Oracle交互性的方法,供您参考。一、定义与使用替换变量。在Oracle提供的相关工具中,如SQL PLUS管理平台中,允许数据库管理员采用替换变量来提高SQL语句的灵活性。替换变量的定义跟普通变量的定义类似,只需要在变量名前面加入&符号即可。如上面例子中的“&name_filed”转载 2014-05-11 22:22:47 · 2204 阅读 · 0 评论 -
物化视图详解--介绍、创建方法、例子
物化视图是包括一个查询结果的数据库对象,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表。物化视图存储基于远程表的数据,也可以称为快照。对于复制,物化视图允许你在本地维护远程数据的副本,这些副本是只读的。如果你想修改本地副本,必须用高级复制的功能。当你想从一个表或视图中抽取数据时,你可以用从物化视图中抽取。 对于数据仓库,创建的物化视图通常情况下是聚合视图,单一表聚合视图和连接视图。物转载 2014-05-11 23:44:17 · 533 阅读 · 0 评论 -
PL/SQL程序设计 第六章 存储函数和过程
§6.1 引言ORACLE 提供可以把PL/SQL 程序存储在数据库中,并可以在任何地方来运行它。这样就叫存储过程或函数。过程和函数统称为PL/SQL子程序,他们是被命名的PL/SQL块,均存储在数据库中,并通过输入、输出参数或输入/输出参数与其调用者交换信息。过程和函数的唯一区别是函数总向调用者返回数据,而过程则不返回数据。在本节中,主要介绍:1. 创建存储过程和函数。转载 2014-03-25 00:39:33 · 715 阅读 · 0 评论 -
RPAD函数略解
在写本篇博客之前,有一点小东西要写在前面,汉字占多少个字节得看你用的是什么编码集,如果是GBK和GB2312的话,确实是两个字节,在Windows平台上会是你预期的两个字节。但是在linux平台使用的是UTF8字符集,那么就不一定了,不过,我现在做PLSQL等东西一般是在win平台上做的,LINUX只是在安装weblogic和部署应用程序才去一趟。转载 2015-01-13 01:06:44 · 12661 阅读 · 0 评论 -
Oracle 中如何判断一个字符串是否为数字
原地址:点击打开链接方法一:通过 To_Number 函数异常来判断CREATE OR REPLACE FUNCTION Is_Number ( str_ VARCHAR2 ) RETURN VARCHAR2 IS num_ NUMBER; BEGIN num_ := to_numb转载 2015-01-13 00:14:53 · 11619 阅读 · 1 评论 -
关于oracle with as用法(比较简单的介绍)
with as语法–针对一个别名with tmp as (select * from tb_name)–针对多个别名with tmp as (select * from tb_name), tmp2 as (select * from tb_name2), tmp3 as (select * from tb_name3), .....转载 2014-11-01 15:16:19 · 11009 阅读 · 0 评论 -
oracle grant 详解(转)
我以scott/tiger登录以后建立了表以后插入数据提示我插入成功了,但是在查询数据的时候是没有记录的,原因是我的scott用户没有对这个表插入的权限。这时要以system登录以后用grant赋予scottr 中某个表的相应的权限。GRANT名称GRANT— 赋予一个用户,一个组或所有用户访问权限GRANTprivilege [, ...] ON object [, ...]转载 2014-06-22 00:32:13 · 14098 阅读 · 0 评论 -
关于键保留表的一些汇总
在通过DML操作Oracle的视图的时候,有一个很重要的条件是操作的base表必须是Key-Preserved Table.那么,什么是Key-Preserved Table呢.Oracle给出的定义是:A table is key preserved if every key of the table can also be a key of the result of the joi转载 2014-05-15 01:58:00 · 1941 阅读 · 0 评论 -
oracle中schema指的是什么?
我们先来看一下他们的定义:A schema is a collection of database objects (used by a user.). Schema objects are the logical structures that directly refer to the database’s data.A user is a name defined in th转载 2014-07-11 00:07:30 · 817 阅读 · 0 评论 -
REF 游标 (待填坑)
坑转载 2014-05-23 00:33:30 · 424 阅读 · 0 评论 -
创建视图的with check option选项。
对于with check option而言,对delete是没有xian'z转载 2014-05-13 00:19:27 · 4196 阅读 · 0 评论 -
对于package中全局变量的一点点初级理解
首先自己将全局变量和包中的gong'y原创 2014-05-09 02:03:40 · 3507 阅读 · 0 评论 -
PL/SQL程序设计 第七章 包的创建和应用
§7.1 引言 包是一组相关过程、函数、变量、常量和游标等PL/SQL程序设计元素的组合,它具有面向对象程序设计语言的特点,是对这些PL/SQL 程序设计元素的封装。包类似于C++和JAVA语言中的类,其中变量相当于类中的成员变量,过程和函数相当于类方法。把相关的模块归类成为包,可使开发人员利用面向对象的方法进行存储过程的开发,从而提高系统性能。 与类相同,包中转载 2014-03-25 00:40:42 · 521 阅读 · 0 评论 -
Oracle Package中的包变量的使用
在Oracle中,可以定义包变量。 关于包变量的使用,不少的人不是很清楚。首先我们看如下的例子: CREATE OR REPLACE PACKAGE ds_test AS procedure proc1; END ds_test; / CREATE OR REPLACE PACKAGE BODY转载 2014-05-07 02:22:19 · 5175 阅读 · 0 评论 -
动态SQL番外篇
动态(dynamic)SQL1.区分静态SQL和动态SQL1)静态SQL静态SQL指直接嵌入在PL/SQL块中的SQL语句,静态SQL用于完成特定或固定的任务。select sal from emp where empno=4000;2)动态SQL动态SQL运行PL/SQL块时动态输入的SQL语句。如果在PL/SQL需要执行DDL语句,DCL语句,或转载 2014-05-05 00:56:25 · 632 阅读 · 0 评论 -
oracle:RETURNING 子句
RETURNING 自己通常结合DML 语句使用。(INSERT UPDATE DELETE)使用方法:UPDATE table_name SET expr1RETURNING column_nameINTO xxxINSERT: 返回的是添加后的值UPDATE:返回时更新后的值DELETE:返回删除前的值RETURNING 可以再sqlplus转载 2014-05-04 00:14:43 · 632 阅读 · 0 评论 -
PLSQL中 EXECUTE IMMEDIATE语句(带有语法)
PLSQL中 EXECUTE IMMEDIATE语句 先说说绑定变量 ":"称绑定变量指示符,解释如下: 它是用户放入查询中的占位符,它会告诉Oracle" 现在生成一个方案框架,实际执 行语句的时候,会提供应该使用的实际值"。 例子如下: select * from emp where dep='sale'; //不使用绑定变量转载 2014-05-04 00:01:24 · 19128 阅读 · 0 评论 -
EXECUTE IMMEDIATE
EXECUTE IMMEDIATE代替了以前Oracle8i中DBMS_SQL package包.它解析并马上执行动态的SQL语句或非运行时创建的PL/SQL块.动态创建和执行SQL语句性能超前,EXECUTE IMMEDIATE的目标在于减小企业费用并获得较高的性能,较之以前它相当容易编码.尽管DBMS_SQL仍然可用,但是推荐使用EXECUTE IMMEDIATE,因为它获的收益在转载 2014-05-03 22:59:27 · 893 阅读 · 0 评论 -
ORACLE 异常处理
一、开发PL/SQL程序时,需要考虑到程序运行时可能出现的各种异常,当异常出现时,或是中断程序运行,或是使程序从错误中恢复,从而继续运行。常用的异常类型有:no_data_found:没有发现数据too_many_rows:select into 语句查询结果有多个数据行others:可以捕捉所有异常,一般作为异常处理部分的最后一个异常处理器二、例子转载 2014-05-02 01:39:52 · 441 阅读 · 0 评论 -
PL/SQL package 另一篇
包是一组相关过程、函数、变量、常量#SinaEditor_Temp_FontName、类型和游标等PL/SQL程序设计元素的组合。包具有面向对象设计的特点,是对这些PL/SQL程序设计元素的封装。一个包由两个分开的部分组成:(1)包package声明或定义:包定义部分是创建包的规范说明,声明包内数据类型、变量、常量、游标等元素。这部分也是为使用者提供了透明的转载 2014-05-02 01:38:01 · 474 阅读 · 0 评论 -
oracle 绑定变量(bind variable)(1)
首先应该明确在sqlplus命令行直接定义变量要variable。转载 2014-04-16 02:08:43 · 774 阅读 · 0 评论 -
PL/SQL程序设计 第四章 游标的使用
在 PL/SQL 程序中,对于处理多行记录的事务经常使用游标来实现。§4.1 游标概念 为了处理 SQL 语句,ORACLE 必须分配一片叫上下文( context area )的区域来处理所必需的信息,其中包括要处理的行的数目,一个指向语句被分析以后的表示形式的指针以及查询的活动集(active set)。 游标是一个指向上下文的句柄( handle)或指针。通过游标,P转载 2014-03-25 00:36:32 · 848 阅读 · 0 评论 -
动态SQL和动态PL/SQL
16.1 NDS语句16.1.1 EXECUTE IMMEDIATE语句EXECUTE IMMEDIATE SQL_string [INTO {define_variable[, define_variable]...| record}] [USING [IN | OUT | IN OUT] bind_argument[, [IN | OUT | IN OUT] b转载 2014-05-05 00:28:47 · 833 阅读 · 0 评论 -
PL/SQL程序设计 第八章 触发器
触发器是许多关系数据库系统都提供的一项技术。在ORACLE系统里,触发器类似过程和函数,都有声明,执行和异常处理过程的PL/SQL块。§8.1 触发器类型 触发器在数据库里以独立的对象存储,它与存储过程不同的是,存储过程通过其它程序来启动运行或直接启动运行,而触发器是由一个事件来启动运行。即触发器是当某个事件发生时自动地隐式运行。并且,触发器不能接收参数。所以运行触发器就叫转载 2014-03-25 00:41:57 · 612 阅读 · 0 评论 -
ISNUMBER函数的创建以及函数创建思路。
第一种:create or replace function isnumber(p_in varchar2) return boolean as i number; begin i := to_number(p_in); return true; exception when others then return false; if i = 1转载 2014-04-20 01:38:15 · 937 阅读 · 0 评论 -
ORACLE 绑定变量用法总结
之前对ORACLE中的变量一直没个太清楚的认识,比如说使用:、&、&&、DEIFINE、VARIABLE……等等。今天正好闲下来,上网搜了搜相关的文章,汇总了一下,贴在这里,方便学习。 ================================================================================== 在oracle 中,对于一转载 2014-04-21 02:13:13 · 1237 阅读 · 0 评论 -
PL/SQL程序设计 第五章 异常错误处理
一个优秀的程序都应该能够正确处理各种出错情况,并尽可能从错误中恢复。ORACLE 提供异常情况(EXCEPTION)和异常处理(EXCEPTION HANDLER)来实现错误处理。§5.1 异常处理概念异常情况处理(EXCEPTION)是用来处理正常执行过程中未预料的事件,程序块的异常处理预定义的错误和自定义错误,由于PL/SQL程序块一旦产生异常而没有指出如何处理时,程序就会自动转载 2014-03-25 00:38:23 · 596 阅读 · 0 评论 -
总结:整理 oracle异常错误处理
5.1 异常处理概念5.1.1 预定义的异常处理5.1.2 非预定义的异常处理5.1.3 用户自定义的异常处理5.1.4 用户定义的异常处理5.2 异常错误传播5.2.1 在执行部分引发异常错误5.2.2 在声明部分引发异常错误5.3 异常错误处理编程5.4 在 PL/SQL 中使用 SQLCODE, SQLERRM异常处转载 2014-04-20 12:11:25 · 7567 阅读 · 0 评论 -
PL/SQL程序设计 第一章 PL/SQL 程序设计简介
PL /SQL是一种高级数据库程序设计语言,该语言专门用于在各种环境下对ORACLE数据库进行访问。由于该语言集成于数据库服务器中,所以PL/SQL代码可以对数据进行快速高效的处理。除此之外,可以在ORACLE数据库的某些客户端工具中,使用PL/SQL语言也是该语言的一个特点。本章的主要内容是讨论引入PL/SQL语言的必要性和该语言的主要特点,以及了解PL/SQL语言的重要性和数据库版本问题。还要转载 2014-03-25 00:43:17 · 582 阅读 · 0 评论 -
PL/SQL程序设计 第三章 PL/SQL流程控制语句
介绍PL/SQL的流程控制语句, 包括如下三类:l 控制语句: IF 语句l 循环语句: LOOP语句, EXIT语句l 顺序语句: GOTO语句, NULL语句§3.1 条件语句IF THENPL/SQL 和 SQL语句END IF; IF THENPL/SQL 和 SQL语句ELSE其它语句转载 2014-03-25 00:35:20 · 661 阅读 · 0 评论 -
PL/SQL程序设计 第二章 PL/SQL块结构和组成元素
§2.1 PL/SQL块PL/SQL程序由三个块组成,即声明部分、执行部分、异常处理部分。 PL/SQL块的结构如下: DECLARE /* 声明部分: 在此声明PL/SQL用到的变量,类型及游标,以及局部的存储过程和函数 */BEGIN /* 执行部分: 过程及SQL 语句 , 即程序的主要部分 */EXCEPTI转载 2014-03-25 00:33:48 · 634 阅读 · 0 评论