Oracle数据库-PL/SQL整理(1)
P.S http://oracle.chinaitlab.com/PLSQL/350527.html[@more@]--获取系统记录行数go_block('T_WARITEMPRT');last_record;row_count:=:system.trigger_record; --system.cursor_record--execute_trigger('POST-CHANGE');--设置鼠标状态set_application_property(cursor_style,'BUSY');--raise form_trigger_failure;--显示错误信息exception when others then display_note(sqlerrm||sqlcode,:global.logon_user);--decodedecode(a.freightmode,'0','企业自付','1','供应商付费','2','企业代付','3','供应商代付',null)decode(qtyonhand -
ORACLE应用经验(1)
ORACLE应用经验(1)[@more@]****************************常用设置********************************---on-log 触发器编写示范Declareflag varchar2(80):=null;cou number:=1;n number;BeginLooplogon(USERNAME,PASSWORD||'@'||CONNECT,PROPERTY_FALSE....);flag:=Get_Application_Property(DATASOURCE);Exit when cou>8 or flag='ORACLE';cou:=cou+1;End Loop;If flag<>'ORACLE' thenset_alert_property('a_1',alert_message_text,'登录失败,请返回重试');n:=show_alert('a_1');raise form_trigger_failure; --中断 FORMEnd if;E
Developer/2000中的Forms参数及应用
摘要: 本文介绍了Oracle数据库的开发工具Developer/2000之一Oracle Forms 4.5中的参数及参数表的概念、创建方法以及开发Form并传送参数的注意事项,最后以一个应用实里例说明其使用方法。P.S[@more@]1· Forms概述Oracle数据库的前端开发工具Developer/2000,以其能够灵活、方便、有效地开发出基于C/S结构的用户应用程序而倍受程序开发人员的青睐;而其中Oracle Forms 4.5,作为数据库的表格设计工具,应用尤为广泛。用它可开发和运行Windows下基于表格的应用。它的特点是集成数据字典,用基表管理应用,把应用分解为对象和属性,支持多达
Oracle10g新特性:Recycle Bin回收站
[@more@]Oracle10g 提供了类似操作系统中的回收站功能。当drop table的时候,实际上只是将其重命名,并将table以及相关联的对象如index,constraint等放到回收站(RecycleBin)中,后续如果发现drop错了table,可以使用flashback table命名将回收站中的table还原,这就是Oracle10g的Flashback Drop功能。1.什么是Recycle Bin实际上,Recycle Bin只是一个保存被drop的对象的一个数据字典表。所以,可以通过如下语句查询回收站中的信息:select * from recyclebin除非拥有sysdba权限,每个用户只能看到属于自己的对象。所以,对于用户来说,好
dv forms中文帮助—块类型函数(1)
[@more@]1、 CLEAR_BLOCK说明:从Oracle Forms中删除当前的记录或删除当前块。.语法:PROCEDURE CLEAR_BLOCK; PROCEDURE CLEAR_BLOCK(commit_mode NUMBER); 内置函数类型 受限过程 输入值 NO参数:如果用户要从当前数据块中改变记录,将不需要提交。Oracle Forms会处理记录,下面各项将列出commit_mode的有效值:commit_mode 可选参数commit_mode可以有下列常量值:ASK_COMMIT Oracle Forms将提示用户在CLEAR_BLOCK处理时提交改变。DO_COMMIT Oracle Forms提交改变执行commit,,并清理当前块。NO_COMMIT Oracle Forms将提交改变并清理当前
oracle用户创建权限何如分配&回收用户访问权限的脚本
[@more@]1.数据库安装时的参数设定 下面数据库所用的版本为ORACLE 9I (9.2.0),安装数据库时,数据库系统会创建一个数据库实例,其中:安装目录选为:oracle,数据库名与数据库SID号都输入:ora9i ,其中的字符集必须选为:ZHS16GBK(否则以后进行跨平台操作时对中文的操作将比较困难)。2.数据库用户的创建、权限的分配 数据库安装完成后,有两个系统级的用户: 1、 system 默认密码为:manager 2、 sys 默认密码为:change_on_install 在安装的数据库目录中找到oracleproduct9.2bin 中的sqlplus程序,运行:./sqlplus system/manag
数据库人员手边系列:Oracle初始化参数
[@more@]ALTER DATABASE DATAFILE'd:ORANTDATABASEUSER1ORCL.ORA' RESIZE 1000M; CREATE TABLESPACE INDEX_DATA DATAFILE'd:ORANTDATABASEINDEX_DATA' SIZE 500M; ALTER DATABASE DATAFILE'd:ORANTDATABASERBS1ORCL.ORA' RESIZE 300M; ALTER DATABASE DATAFILE'd:ORANTDASTABASETMP1ORCL.ORA' RESIZE 300M; alter rollback segment "RB1" offline; alter rollback segment "RB2" offline; alter rollback segment "RB3" offline; alter rollback segment "RB4" offline;
数据库人员手边系列:Oracle常见错误诊断
ORACLE的这类错误在ORALCE的文档中有详细说明,但原因及措施说明不详细,本文当着重说明如何解决这类错误。[@more@]1、ORA-12571、ORA-03113、ORA-03114、ORA-01041 特征:客户端(代理或应用服务器)有时报这类断连错误 原因:如果偶尔出现一次,则可能为原因或用户异常中止,如果经常出现则为客户端与服务端的字符集不一致。 措施:如果偶尔出现,可在服务端的协议配置文件PROTOCOL.ORA中增加一行 TCP.NODELAY=YES; 如果经常出现,则为客户端与服务端字符集不一致或网络原因。 客户端的字符集在注册表里定义: HKEY_
WHEN-TREE-NODE-SELECTED会两次激活的问题?
最近做程序:tmp1 := :SYSTEM.TRIGGER_NODE_SELECTED if tmp1 = 'TRUE' then messagebox('tmp1='||tmp1);这样,会出现WHEN-TREE-NODE-SELECTED会两次激活的问题,即WHEN-TREE-NODE-SELECTED在节点被选择和取消选择都会触发,如果只想激活一次,可不定义TEMP1,直接:IF :SYSTEM.TRIGGER_NODE_SELECTED = 'TRUE' THEN...[@more@]
解析Oracle/Oracle Forms 的多用途代码
[@more@]几年前,当Oracle放弃客户端的Forms的时候,随之消失的那些内置的函数中有一项是关于向警告消息函数(alert message function)传递参数。如果你处理错误或者缺失的输入参数(你应该这么做),Forms迁移过程的一部分是将这个内置的函数从6i版本改成9i版本。复杂的应用可能包含有上千条警告消息,并且一个主要的应用(即Forms)的变化会导致上千条改变。做这样的改变的确是一件讨人嫌的行为。 另一方面,作为一个使用PL/SQL的DBA和程序员,你到底写过多少次 DBMS_OUTPUT.PUT_LINE('')?必须写的或者敲入的DBMS_OUTPUT.PUT_LINE变得非常无聊
在Oracle 9i中Form Builder使用树心得
[@more@]树的简介 Deveoper6.0以上版本提供了hierarchytree(层次树)的概念,htree控件非常方便,只需要少量的编程即可实现显示层次结构的目的。 树的特有属性中如下几个较为重要: 多项选择(Muti-Seection):是否允许一次选中树的多个节点。如果不允许,那么选中第二个节点时,第一个被选中的节点会取消选择。 记录组(RecordGroup):指定生成树的记录组的名字。 简单介绍一下跟树相关的触发子(Buit-in): FUNCTIONGET_TREE_NODE_PROPERTY(item_nameVARCHAR2,nodeNODE,propertyNUMBER);功能:取得树节点的属性: ◆其中property有如
Oracle Form二次开发实战总结 第四章 布局方法
[@more@]一个Form. Module可能包含了多个window,多个Data Block,多个canvas,在对象众多的情况下,布局方法遵循一定的规则可让你事半功倍。如图4.1,一般来说布局,应按照windows-canvases-data block-items的顺序,先简单说明下各对象与布局相关的属性。图4.1WindowProperty NoteX Position Form启动时X轴坐标Y Position Form启动时Y轴坐标Width Form实际宽度Height Form实际高度CanvasProperty NoteWindow 指定Canvas所在的windowViewX Position on Canvas 可见部分相对于Canvas的X轴坐标,通常置0View Y Position on Canvas 可见部分
关于form中的set_block_property设置问题
我想在程序中动态配置block的属性,现在对where clause进行设置比如我有一个叫做test的 block,在其连接的数据库test中只显示字段b以'B'打头的记录,现在我在 when-new-form-instance中添加语句如下:set_block_property('test','default_where','where b like ''B%''');[@more@]
oracle中视图和触发器的简单应用
[@more@]Global.XXX表示全局变量,表示XXX在整个Form中都可以使用。SET_BLOCK_PROPERTY(block_name,property,value1,value2)第一个参数指定数据块,第二个参数是目标属性如:SET_BLOCK_PROPERTY(‘emp’,insert_allowed,property_false);SET_BLOCK_PROPERTY(‘emp’,default_where,’last_name = :global.lname’);SET_ITEM_PROPERTY和SET_ITEM_INSTANCE_PROPERTY两者的区别在于:前者修改项目的每一个实例的属性,而后者只修改某个特定项目的属性。例如,可以使用SET_ITEM_INSTANCE_PROPERTY来更改值超出了特定范围的项目的背景色,以便识
Oracle删除重复记录的方法!
[@more@]做项目的时候,一位同事导数据的时候,不小心把一个表中的数据全都搞重了,也就是说,这个表里所有的记录都有一条重复的。这个表的数据是千万级的,而且是生产系统。也就是说,不能把所有的记录都删除,而且必须快速的把重复记录删掉。对此,总结了一下删除重复记录的方法,以及每种方法的优缺点。为了陈诉方便,假设表名为Tbl,表中有三列col1,col2,col3,其中col1,col2是主键,并且,col1,col2上加了索引。1、通过创建临时表可以把数据先导入到一个临时表中,然后删除原表的数据,再把数据导回原表,SQL语句如下:creat tab
normal 、sysdba、 sysoper 、sys,sysdba,dba概念—区别
[@more@]sys和system用户的区别【system】用户只能用normal身份登陆em。【sys】用户具有“SYSDBA”或者“SYSOPER”权限,登陆em也只能用这两个身份,不能用normal。“SYSOPER”权限,即数据库操作员权限,权限包括:打开数据库服务器 关闭数据库服务器备份数据库 恢复数据库日志归档 会话限制“SYSDBA”权限,即数据库管理员权限,权限包括:打开数据库服务器 关闭数据库服务器备份数据库 恢复数据库日志归档 会话限制管理功能 创建数据库normal 、sysdba、 sysoper有什么区别normal 是普通用户 另外两个,你考察他们所具有的权限就知道了
SQLPLUS 常用指令小收集
[@more@]1. COL命令: 主要格式化列的显示形式。 该命令有许多选项,具体如下: COL[UMN] [{ column|expr} [ option ...]] Option选项可以是如下的子句: ALI[AS] alias CLE[AR] FOLD_A[FTER] FOLD_B[EFORE] FOR[MAT] format HEA[DING] text JUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]} LIKE { expr|alias} NEWL[INE] NEW_V[ALUE] variable NOPRI[NT]|PRI[NT] NUL[L] text OLD_V[ALUE] variable ON|OFF WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED] 1). 改变缺省的列标题 COLUMN column_name HEADING column_heading For example: Sql>sele
What does the Forms & Reports 6i Patch 18 for Windows need to be noticed?
1、 P18补丁中,文本项属性多了一项:"锁定记录",每次一定要把其设定为:‘否’;2、注意列表项也具有此属性,只是被隐藏起来了,需要先把列表项改为文本项,将这一属性设置为‘否’,然后再改回为列表项;3、B/S模式下的某些按钮字体设为8 ,字体一般设置为罗马西方字体,字号为8号,方便显示。[@more@]
变量ORACLE_SID到底是什么,它跟instance有什么区别?
[@more@]1、环境变量oracle_sid是登陆后默认的sid,是instance的名字2、名字是一样的SID是对于系统来说的 INSTANCE是对服务应用来说的3、sid 是instance的名字而已。楼上的说法有问题,service_name才是服务。设置好了service_name(随便设置),动态注册进listener。就可以用相应的service访问数据库。(没测试过,想原理应该如此)4、sid好象可以从listener.ora文件中得到吧?5、该问题有深度。SID主要用于区分同一台计算机上的同一个数据库的不同实例。oarcle数据库服务器主要有两部分组成:物理数据库和数据库管