一、 打开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'),即可将数据库所有表导出。
本文链接
利用oracle中的备注信息实现高级 查询,原理如下:利用oracle的列注释、表注释作为需要查询表的显示 名称和列列名称,拼接sql条件语句。
实现比较简单,两百多行代码,基本功能可实现,由于使用拼接sql的方式一些oracle安全性验证做的不多。也请各位多多指导。接触oracle不是很久。
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
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 跳出本次循环,下次继续执行本次循环
本文链接