删除或者更新重复的记录
删除或者更新重复的记录create or replace procedure sp_tran_delete_manyone_data/********************************************功能:删除接口表port_rk_czrk内的重复数据没有使用,但是可以应用20071129 BY LIHJ********************************************/as--定义type_err t_tran_sys_errors%rowtype;type_log t_tran_sys_log%rowtype;type_process t_tran_sys_process%rowtype;LN_LXZ NUMBER:=0;begin--初始化值type_process.ins_rows:=0;type_process.upd_rows:=0;type_process.err_rows:=0;type_log.total_rows:=0;type_log.er
数据库表格转换成XML格式方法!
数据库表格转换成XML格式方法! 资源中心有软件可下载1,确定必要的视图或者是表格2,创建存储过程create or replace procedure SP_create_xml(obj_name varchar2) isls_object_name user_tab_columns.TABLE_NAME%type;ln_object_hava number:=0;type ty_obj_cols is table of user_tab_columns.COLUMN_NAME%type index by binary_integer;ty_obj_col ty_obj_cols;ln_col_no number:=1;ls_creaet_sql varchar2(5000);begindbms_output.enable(200000);--------------------获得表的名称并验证-------------------------------------------
Oracle 10g数据安全策略
Oracle 10g数据安全策略1,安装过后要冷备数据库要在归档的模式下确保数据库在任何时候都可以恢复到一个确定的状态1,要备份数据的参数文件!这个文件数据库启动的必要基础!!1>直接拷贝2>Alter datebase back up controlfile to trace/filename2,要备份控制文件,控制文件中有数据库里的SCN信息,数据文件信息,控制文件是数据库恢复数据的必要基础!!控制文件里的SCN信息是恢复数据库最近时间尺度基础!!1>直接拷贝3,备份数据文件这个是肯定要备份的!4,备份在线日志文件没有在线日志文件,数据库是很难启动的!!5,备份
$$自动创建触发器$$
1,这个存储过程可以创建特定的instead of 触发器2,用于特定的视图,他必须包含所有的表列(这个并不影响使用)create or replace procedure Sp_create_tr(view_names varchar2 ,list_tabs varchar2) is/* 使用与比较规则的视图!!!!!! 动态创建触发器:目的,方便在视图层进行数据库的操作 传入的表名称必须是字母来表示!!!!!!!!! 从插入开始练习!!! 输入的表名称必须是这样的格式! tabe3name*table*tabel ---LIHJ*/ LS_create_sql varchar2(5000); ln_triggs_nos number:=0; ls_trigger_name varc
±±oracle trigger±±
在ORACLE 内部创建触发器的时候,不能在创建的的基表内引用其他数据,而在创建触发器的往往需要引用基表的数据,这时候我感觉最好的办法上:创建视图!!!!!!!-- Create tablecreate table AJCJ_ZAAJDJB( BH VARCHAR2(30) not null, YEAR VARCHAR2(4), YEAR_NO VARCHAR2(20), MONTH_NO VARCHAR2(22), AB VARCHAR2(30), FA_TIME DATE, FADD VARCHAR2(30), BASJ DATE, DSR1_XM VARCHAR2(30), DSR1_XB VARCHAR2(30), DS
♀♀数据库升级♀♀
我的数据库升级后,数据库没有启动!!!!C:Documents and SettingsAdministrator>sqlplus /nologSQL*Plus: Release 10.2.0.1.0 - Production on 星期三 3月 5 09:34:17 2008Copyright (c) 1982, 2005, Oracle. All rights reserved.SQL> conn / as sysdba已连接。SQL> startupORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它SQL> shutdown immediateORA-01109: 数据库未打开已经卸载数据库。ORACLE 例程已经关闭。SQL> startupORACLE 例程已经启动。Total System Global Area 322961408 bytesFixed Size 1248792 b
∵∵∵open log for mysql∵∵∵
1.首先确认你日志是否启用了mysql>show variables like 'log_bin';2.如果启用了,即ON那日志文件就在mysql的安装目录的data目录下3.怎样知道当前的日志mysql> show master status; 4.看二进制日志文件用mysqlbinlogshell>mysqlbinlog mail-bin.000001shell>mysqlbinlog mail-bin.000001 | tail mysql有以下几种日志: 错误日志: -log-err 查询日志: -log 慢查询日志: -log-slow-queries 更新日志: -log-update 二进制日志: -log-bin 在mysql的安装目录下,打开my.ini,在后
★★External Tables★★
1.创建sqlldr驱动的External Tables默认情况下,oracle会采用sqlldr驱动的external tableSQL> CREATE TABLE test_ext2 (employee_id NUMBER(4),3 first_name VARCHAR2(20),4 last_name VARCHAR2(25),5 job_id VARCHAR2(10),6 manager_id NUMBER(4),7 hire_date DATE,8 salary NUMBER(8,2),9 commission_pct NUMBER(2,2),10 department_id NUMBER(4),11 email VARCHAR2(25)12 )13 ORGANIZATION EXTERNAL14 (15 TYPE ORACLE_LOADER16 DEFAULT DIRECTORY dir_test17 ACCESS PARAMETERS18 (19 records delimited by newline20 badfile admi
¤¤¤exp/imp¤¤¤
记住:要看帮助!!$exp scott/tiger tables=emp query="where job='salesman' and sal<1600" file=/directory/scott2.dmp$exp parfile=username.par file=/directory1/username_1.dmp,/directory1/username_2.dmpfilesize=2000M log=/directory2/username_exp.log参数文件username.par内容userid=username/userpasswordbuffer=8192000compress=ngrants=y表模式 ######################仅仅会备份表里的数据!!!备份某个用户模式下指定的对象(表)。业务数据库通常采用这种备份方式。 若备份到本地文件,使用如下命令: e
performance of the database
create or replace procedure performance_exec is/*自动执行响应的函数与存储过程*/var number:=0;begin --缓存区的情况! dbms_output.put_line(' the performance of the database!!!!'); for i in 101..102 loop dbms_output.put_line(' -----------------------------------------------------'); dbms_output.put_line(' '||fun_sga(i)); end loop; --dbms_output.put_line(' '||fun_sga(102)); --dbms_output.put_line(' the performance of the database^^^^'); /*for i in 101..111 loop dbms_output.put_lin
print the result sql
create or replace procedure Print_sql(sqltest varchar2) is/*作者:李红杰说明:为了进行性能的管理,对一些性能管理的语句做一些必要的结果的输出!!*/begindbms_output.enable(2000000);--验证输入的SQL语句是否有问题!!--利用DBMS__SQL包进行数据正确性的判断!!----------------------------------------------------------------------declarecur_sql_int number:=0;cur_sqltest varchar2(500):=0;begincur_sqltest:=sqltest; cur_sql_int:=dbms_sql.open_cursor;dbms_sql.parse(cur_sql_int,cur_sqltest,dbms_sql.v7);--dbms
从ORACLE 生成图片
public static void printPic()throws SQLException{ ResultSet rs=null; Connection conn=null; Statement stmt=null; try { //从ORACLE 生成图片 conn=getConn(); stmt=conn.createStatement(); rs=stmt.executeQuery("select zp from jczhxxgl.rk_zzrk where dbms_lob.getlength(zp)>0 and rownum<6"); int i=0; while(rs.next()){ InputStream fi=null; Blob blob = rs.getBlob("zp"); FileOutputS
access 取照片
public static void test_access_pic1(String table_id)throws SQLException{Connection conn=null;PreparedStatement stmt=null;ResultSet rs=null;int iiii=0;String[] sql_field_str=null;try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");String dburl ="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=两口一屋.mdb";//此为NO-DSN方式//String dburl ="jdbc:odbc:odbcName";//此为ODBC连接方式conn=DriverManager.getConnection(dburl);stmt=conn.prepareStatement("select pic fr
sql server and oracle stady
1,install the sql server gataway2,$oracle_home/tg4msql/admin/inittg4msql.ora# This is a sample agent init file that contains the HS parameters that are# needed for the Transparent Gateway for SQL Server## HS init parameters#HS_FDS_CONNECT_INFO="SERVER=192.168.0.47;DATABASE=pubs"HS_FDS_TRACE_LEVEL=ONHS_FDS_RECOVERY_ACCOUNT=RECOVERHS_FDS_RECOVERY_PWD=RECOVER3,update then file:$oracle_home/network/admin/listner.ora# LISTENER.ORA Network Configuration File: d:oracleora92NETWORKADMINlistene
check the sfzh
function f_chk_sfz_jym(as_sfzh varchar2) return number--校验身位最后一位是否合法isai_list number:=1;ai_i number:=17;ai_code number:=0;ai_mul number;as_idcode varchar2(18);as_18 char(1);beginas_idcode:=substrb(as_sfzh,1,17);while ai_i > 0 loopai_list := mod(ai_list * 2,11);ai_mul := to_number(substr(as_idcode,ai_i,1));ai_code := ai_code + ai_mul * ai_list;ai_i := ai_i - 1;end loop;ai_code := mod(ai_code,11);ai_code :=mod((12 - ai_code),11);if ai_code = 10 thenas_18 := 'X';elseas_18 :=to_char(a
the procedure:delete the data of one table
create or replace procedure truncatetable_test(tab_name varchar2) isThe_c1 Integer; The_result Integer;--dml_sql_result M_jls number; The_xh varchar2(2); beginThe_C1 :=Dbms_sql.open_cursor; Dbms_sql.parse(the_C1,'truncate table '||tab_name,dbms_sql.v7);The_result:=Dbms_sql.execute(The_c1); Dbms_sql.close_cursor(The_C1);dbms_output.put_line('d'||The_C1||'*');exceptionwhen others thendbms_output.put_line('d'||The_C1||'*');dbms_output.put_line(sqlerrm);dbms_output.put_line('d'||The_C1||'*');end tru
open the oracle 10g on linux
first: you must edit the file named /$oracle_home/bin/dbstart edit the $oracle_home_listenr=$oracle_homesecond: you must edit the file named /$orale_home/bin/dbshutwith the same third:edit the file called /etc/oratabold:new:four:create the file /etc/init.d/oracledb# !/bin/bash# whoami# root# chkconfig: 345 51 49# description: starts the oracle dabase deamons#ORACLE_HOME=/oracle/product/9idbORACLE_OWNER=oraclecase "$1" instart)echo -n "Starting oracle10g: "su - $ORACLE
ORA-29278: SMTP transient error: 421 Service not available
create or replace procedure souchang_Send_Email(p_txt varchar2, p_sub Varchar2, p_SendorAddress Varchar2, p_ReceiverAddress varchar2, p_EmailServer varchar2, p_Port Number Default 25,
write picture to oracle using java
import java.sql.*;import java.io.*;public class Blobtest {public Blobtest() {}public static void main (String args [])throws SQLException, IOException{ write(); //read();}static void read() throws SQLException, IOException { DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); Connection conn = DriverManager.getConnection ("jdbc:oracle:thin:@ebizser:1521:serverdb", "scott", "tiger"); conn.setAutoCommit (false); Statement