删除用户和表空间
--删除用户drop user zlhis cascade ;drop user zltools cascade ;drop user zlbak2017 cascade ;--删除表空间SELECT 'DROP TABLESPACE '||tablespace_name||' INCLUDING CONTENTS AND DATAFILES ;' FROM dba_tablespaces WHERE tablespace_name L...
如何查看失效的对象
--执行以下SQL语句,可查询Procedure,Function,Package,Package Body,Trigger,View是否失效:SELECT * FROM dba_objects a WHERE a.owner IN ('SYS','SYSTEM','ZLTOOLS','ZLHIS') AND a.status='INVALID';--直接生成失效的对象的编译方式:SELECT 'ALTER ' || OBJECT_T...
表分析
--下面的语句既可以用于上线前的脏数据分析:上线之前将产生的垃圾数据删除,然后运行下面的语句,收集完后再查看 dba_tables 中 NUM_ROWS 字段中--是否有大于0的表,根据这个字段来分析是否还有脏数据没有清除干净--也能用于上线后的数据分析SELECT 'exec dbms_stats....
创建一个链接到其他数据库的DBLINK
--创建一个链接到其他数据库的链接--USING 'BitOrcl' 中的 BitOrcl 为 tnsnames.ora 中配置CREATE SHARED PUBLIC DATABASE LINK BitOrclAUTHENTICATED BY SYS IDENTIFIED BY hisUSING 'BitOrcl' ;--使用方法,在表格后面加上需要链接数据...
Oracle中如何保证用户只有一个Session登录
SQL> create profile one_session limit sessions_per_user 1;SQL> create user test identified by test; User created. www.2cto.com SQL> grant connect,resource to test;Grant succeeded.SQL> ...
触发器限制指定IP访问oracle数据库
触发器限制指定IP访问oracle数据库---------------------来自德哥的BLOG,觉着很有用,记录一下-------------------最近有个项目需要限制某些数据库用户的访问来源IP,在PG中比较好实现,但是ORACLE没有比较简便的操作。如果不管用户的话,仅仅限制来源IP对监听的访问...
收集统计信息
CREATE OR REPLACE PROCEDURE ZLHIS.ZL100_USERJOB收集统计信息 ASBEGIN --ZLHIS DBMS_STATS.GATHER_SCHEMA_STATS(OWNNAME => 'ZLHIS',  ...
压缩索引引起外健失效
Declare v_Version Varchar2(2);Begin --功能:重建"外键索引",取消压缩特性 --说明:Oracle 8.1.7及以下版本(9i和10g没有此问题) --如果外键所在的列存在使用了压缩特性的索引,则主键变...
中文年龄函数
create or replace function CHINESEAGE(BirthDate in date, NowDate in date) return string is Result string(80); -- 返回值 MonthCount number(4,0); -- 出生的月份 &n...
如何删除oracle库中相同的记录
如何删除oracle库中相同的记录,但是保留重复记录中的一条记录:解决方法:可以利用oracle中的rowid伪列来达到这个目的:1.建立临时表,并将查询到的重复数据插入其中(是否可以建一个视图?):create table temp_woods as (select item_id,count(*) as rowco...
字符数统计
CREATE OR REPLACE FUNCTION COMM.STR_COUNT(P_STR IN VARCHAR2, P_SUBSTR IN VARCHAR2 := '0') RETURN INTEGERIS L_STR LONG := P_STR; L_SUBSTR VARCHAR2(100) := P_SUBSTR; L_CNT INT := 1;BEG...
行转列
select * from store.all_sales;数据类型如下: 序号 年份 月份 类型 收入 1 2003 1 1 10034.84 2 ...
导出系统表中的存储过程和函数
--以下语句将HIS系统中用到的存储过程的名称全部导出到文本文件中,然后运行生成相应的同义词-------------------------------------------------------------------------------------------------------------------select 'CREATE OR REPLACE PUBLIC SYNON...
导出Oracle中的同义词
--导出所有的同义词SELECT 'CREATE OR REPLACE PUBLIC SYNONYM ' || '"' || SYNONYM_NAME || '"' || ' FOR ' || '"' || TABLE_OWNER || '"' || '.' || '"' || TABLE_NAME || '"' || ';' FROM DBA_SYNONYMS AWHERE...
导出Oracle中的所有表和字段的注释
--生成所有表的注释SELECT 'comment on table '||a.owner||'.'||a.table_name||' is '||''''||a.comments||''''||' ;' FROM Dba_Tab_Comments a WHERE a.table_type IN ('TABLE','VIEW') AND a.owner IN ('ACCT','APPQOSSYS','BILLSERVICE','BLDBANK','COMM','CPR','DIALYSIS','E...
单字节处理函数
CREATE OR REPLACE Function ZL_GetSinglebyte_string( strValue_IN varchar2, numValue_IN number)Return Varchar2 Is v_temp varchar2(200); v_return varchar2(200);...
身份证号码验证系统
CREATE OR REPLACE Function zl_sfzhy_wdj( ID_IN 病人信息.身份证号%Type, 出生日期_In 病人信息.出生日期%type, 性别_In 病人信息.性别%type) Return Varchar2 Is--功能:对写入的身份证号进行核验,核...
plsql小写金额转大写金额函数
create or replace function comm.F_upper_money(p_num in number default null) return nvarchar2 is /*Ver:1.0 Created By xsb on 2003-8-18 For: 将金额数字(单位元)转换为大写(采用从低至高算法) 数字整数部分不得超...
Oracle中将一个用户的所有对象授权给另一个用户
--首先是CPR账号 --授权表上的读写权限 select 'grant all on '||owner||'.'||table_name||' to hisuser;' from dba_tables where owner = 'CPR'; &nbs...
ORACLE在修改主键时出现ORA-00955的解决方法
ORACLE在修改主键时出现ORA-00955的解决方法ORA-00955:名称已由现有对象使用Oracle创建复合主键以药库的drug_stock表为例,需要在主键中增加一个字段:PUTINSTORAGE_DATE原来的主键名:PK_DRUG_STOCK,键值为:DRUG_CODE, DRUG_SPEC, FIRM_ID...