当前位置:  数据库>oracle
本页文章导读:
    ▪Oracle 11g导出空表方法      一、 打开pl_sql,使用需要导出数据库的用户登录二、 新建sql 复制   select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0  .........
    ▪c# 使用oracle表、列备注信息实现高级 查询      利用oracle中的备注信息实现高级 查询,原理如下:利用oracle的列注释、表注释作为需要查询表的显示 名称和列列名称,拼接sql条件语句。实现比较简单,两百多行代码,基本功能可实现,由.........
    ▪oracle存储过程中return和exit区别      create or replace procedure Test5(o_cellphone in varchar2) is  v_cellphone cc_quiz_stat.cellphone %type;  v_name      cc_quiz_stat %rowtype;  .........

[1]Oracle 11g导出空表方法
    来源:    发布时间: 2013-10-16

一、 打开pl_sql,使用需要导出数据库的用户登录

二、 新建sql 复制

   select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0  

  查询出结果如下截图:

  

 

 

三、 新建SQL窗口,将复制查询出的所有信息粘贴在空白处

 

如下图:

 

四、 执行成功后,在oracle 11g服务器端,开始—运行,根据实际输入数据库导出语句,(如:exp shemis3/oracle9i@emis file='e:\shemis20121211.dmp'),即可将数据库所有表导出。

 

 

 

 

本文链接


    
[2]c# 使用oracle表、列备注信息实现高级 查询
    来源:    发布时间: 2013-10-16

利用oracle中的备注信息实现高级 查询,原理如下:利用oracle的列注释、表注释作为需要查询表的显示 名称和列列名称,拼接sql条件语句。

实现比较简单,两百多行代码,基本功能可实现,由于使用拼接sql的方式一些oracle安全性验证做的不多。也请各位多多指导。接触oracle不是很久。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using System.Data.OracleClient;
using DbHelp;
namespace gjcx
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

DataTable mUds_cel;
Hashtable mHashTables = new Hashtable();
DataView mDv = null;
DataTable mDt_sql = new DataTable();

OracleConnection conn = null;

private void btn_add_Click(object sender, EventArgs e)
{
gridView_cel.AddNewRow();
}

private void btn_del_Click(object sender, EventArgs e)
{
gridView_cel.DeleteRow(gridView_cel.FocusedRowHandle);
}
private void item_table_EditValueChanged(object sender, EventArgs e)
{
DevExpress.XtraEditors.LookUpEdit mLueEdits = (DevExpress.XtraEditors.LookUpEdit)sender;
mDv.RowFilter = "表名='" + mLueEdits.EditValue.ToString() + "'";
}

private void Form1_Load(object sender, EventArgs e)
{

try
{

conn = OracleHelper.GetConnection();
conn.Open();
}
catch (Exception ex)
{
MessageBox.Show("连接数据库失败 " + ex.Message);
}

//别名,表名 查询涉及的别名和表名。由各个窗口传入
mHashTables.Add("b", "usershp");

//构造显示的grid的表结构 表名+列名+条件符+值+关系符
DataColumn mDc = null;
mDc = new DataColumn("表注释", System.Type.GetType("System.String"));
mDt_sql.Columns.Add(mDc);

mDc = new DataColumn("列注释", System.Type.GetType("System.String"));
mDt_sql.Columns.Add(mDc);

mDc = new DataColumn("tjf", System.Type.GetType("System.String"));
mDt_sql.Columns.Add(mDc);

mDc = new DataColumn("value", System.Type.GetType("System.String"));
mDt_sql.Columns.Add(mDc);

mDc = new DataColumn("gxf", System.Type.GetType("System.String"));
mDt_sql.Columns.Add(mDc);

mDc = new DataColumn("kh_l", System.Type.GetType("System.String"));
mDt_sql.Columns.Add(mDc);

mDc = new DataColumn("kh_r", System.Type.GetType("System.String"));
mDt_sql.Columns.Add(mDc);
grid_cel.DataSource = mDt_sql;
//根据hashtable表名查询数据表列注释和数据类型。每次item_table变更时做dataview的rowfilter

//根据hashtable生成查询语句
string mCondion = "";
foreach (DictionaryEntry objDE in mHashTables)
{

mCondion = mCondion + "'" + objDE.Value + "',";
}

if (mCondion.Length > 1)
{
mCondion = mCondion.Substring(0, mCondion.Length - 1);

}
mCo
    
[3]oracle存储过程中return和exit区别
    来源:    发布时间: 2013-10-16

create or replace procedure Test5(o_cellphone in varchar2) is

  v_cellphone cc_quiz_stat.cellphone %type;

  v_name      cc_quiz_stat %rowtype;

  v_state     cc_quiz_stat.state %type;

begin

  declare

    cursor cur_cc is

      select * from cc_quiz_stat;

    cursor cur_jc(v_n varchar2) is

      select state from cc_quiz_stat;

  begin

    open cur_cc;

    loop

      fetch cur_cc

        into v_name;

      exit when cur_cc%notfound;

      open cur_jc(o_cellphone);

      loop

        fetch cur_jc

          into v_state;

        exit when cur_jc %notfound;

        if (o_cellphone = v_name.cellphone) then

         return;

        else

          dbms_output.put_line('手机号' || v_name.cellphone || '省份' ||

                               v_state);

        end if;

      end loop;

      close cur_jc;

    

    end loop;

    close cur_cc;

  end;

end Test5;

执行结果

手机号18900000000省份全国

手机号18900000000省份南京

手机号18900000000省份天津

手机号18900000000省份 上海

手机号18900000000省份北京

 

 

create or replace procedure Test5(o_cellphone in varchar2) is

  v_cellphone cc_quiz_stat.cellphone %type;

  v_name      cc_quiz_stat %rowtype;

  v_state     cc_quiz_stat.state %type;

begin

  declare

    cursor cur_cc is

      select * from cc_quiz_stat;

    cursor cur_jc(v_n varchar2) is

      select state from cc_quiz_stat;

  begin

    open cur_cc;

    loop

      fetch cur_cc

        into v_name;

      exit when cur_cc%notfound;

      open cur_jc(o_cellphone);

      loop

        fetch cur_jc

          into v_state;

        exit when cur_jc %notfound;

        if (o_cellphone = v_name.cellphone) then

         exit;

        else

          dbms_output.put_line('手机号' || v_name.cellphone || '省份' ||

                               v_state);

        end if;

      end loop;

      close cur_jc;

    

    end loop;

    close cur_cc;

  end;

end Test5;

 

 

执行结果

 

手机号18900000000省份全国

手机号18900000000省份南京

手机号18900000000省份天津

手机号18900000000省份 上海

手机号18900000000省份北京

手机号18900000002省份全国

手机号18900000002省份南京

手机号18900000002省份天津

手机号18900000002省份 上海

手机号18900000002省份北京

手机号18900000003省份全国

手机号18900000003省份南京

手机号18900000003省份天津

手机号18900000003省份 上海

手机号18900000003省份北京

手机号18900000004省份全国

手机号18900000004省份南京

手机号18900000004省份天津

手机号18900000004省份 上海

手机号18900000004省份北京

 

 

 

return 跳出整个循环,本循环后面的不再执行,

exit 跳出本次循环,下次继续执行本次循环

本文链接


    
最新技术文章:
▪current online redo log缺失后的恢复
▪ORA-600 2662错误解决实例
▪ORA-00600 2662错误解决方法
▪Oracle Hidden Parameter:_allow_resetlogs_corruption
▪Oracle诊断事件列表
▪Oracle 隐含参数 _disable_logging 详解
▪ORA-00600 [2662]错误解决过程
▪Oracle里常见的执行计划
▪Oracle里另外一些典型的执行计划
▪Oracle服务器自动备份
▪Oracle固定SQL的执行计划(一)---SQL Profile
▪Oracle固定SQL的执行计划(二)---SPM
▪同一环境下新建Standby RAC库
▪Oracle快速克隆安装
▪Oracle单实例启动多个实例
▪Oracle的PLSQL别名中文出现乱码解决方法
▪ORA-00379: no free buffers available in buffer pool DEFAULT ...
▪RMAN-06023: no backup or copy of datafile 16 found to restor...
▪RMAN还原数据库报错问题解决案例
▪OEL6.8_X86平台部署Oracle 10gR2检测失败问题
▪Oracle 性能优化建议
▪Oracle SQL语句优化心得
▪Oracle固定SQL的执行计划(二)---SPM iis7站长之家
▪Oracle dblink 查询 tns:无法解析指定的连接标识...
▪Red Hat Enterprise Linux 6使用udev配置Oracle ASM总结...
▪Linux6.6及以上版本配置Oracle ASM共享储存-UDEV
▪Oracle 12C 开启数据库归档模式
▪Solairs系统中配置Oracle 12c 开机启动
▪重建DBMS_STATS解决ORA-31626 ORA-21633以及ORA-04063 ORA...
▪Oracle ASMM 与AMM之间相互切换
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,