当前位置:  数据库>oracle
本页文章导读:
    ▪Oracle Create TableSpace SQL      --创建表空间CREATE TABLESPACE TableSpaceNameNOLOGGING DATAFILE 'path/tablespacename.dbf' SIZE 20MautoExtend on next 10Mpermanent online;--创建用户CREATE USER username IDENTIFIED BY password DEFAULT TABLESPACE TsinghuaLMS ACCOUNT UNLOCK;--授.........
    ▪分页存储过程-Oracle版      在Oracle中使用分页存储过程相比较Sql Server来说,要复杂一些,数据集的返回需要使用游标。本人的分页存储过程是在Oracle包中实现的。--首先定义包头部分--pFilter参数为查询条件字符串,如&ld.........
    ▪oracle锁表解锁      1.select * from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID; 2.alter system kill session '144(SID),12602(SERIAL#)'; 本文链接......

[1]Oracle Create TableSpace SQL
    来源:    发布时间: 2013-10-16

--创建表空间
CREATE TABLESPACE TableSpaceName
NOLOGGING
DATAFILE 'path/tablespacename.dbf' SIZE 20M
autoExtend on next 10M
permanent online;
--创建用户
CREATE USER username IDENTIFIED BY password DEFAULT TABLESPACE TsinghuaLMS ACCOUNT UNLOCK;
--授权
GRANT "CONNECT" TO username;
GRANT "RESOURCE" TO username;
GRANT "DBA" TO username;

本文链接


    
[2]分页存储过程-Oracle版
    来源:    发布时间: 2013-10-16

在Oracle中使用分页存储过程相比较Sql Server来说,要复杂一些,数据集的返回需要使用游标。本人的分页存储过程是在Oracle包中实现的。

--首先定义包头部分
--pFilter参数为查询条件字符串,如“ NCID='1' and NDate='2012-1-1'”

CREATE OR REPLACE PACKAGE PKG_NEWS IS

type CurBase is ref cursor;

procedure SearchNews (pFilter in varchar2,pPage number,pRecordPerPage out number,pAllRecord out number,CurNews out CurBase);

END;

--然后定义包的主体部分
CREATE OR REPLACE PACKAGE BODY PKG_NEWS IS

--搜索新闻,注意分页部分还可以再优化一下。
procedure SearchNews (pFilter in varchar2,pPage number,pRecordPerPage out number,pAllRecord out number,CurNews out CurBase) is
vSQL Varchar(1000);
begin
  pRecordPerPage:=30;
  vSQL:='select count(*) from V3News where (1=1)  ' || pFilter;
  execute immediate vSQL into pAllRecord;

  vSQL:='select RNum,NID,NCID,NCName,NFrom,NName,NDate,NClick from (select RowNum RNum,V3News.* from V3News where (1=1) '|| pFilter || ') V3News  where RNum>' ||

to_char((pPage-1)*pRecordPerPage) || ' and RNum<=' || to_char(pPage*pRecordPerPage);
  open CurNews for vSQL ;
end;

END;

.net程序DAO层

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.OracleClient;

namespace NewsDal
{
/// <summary>
/// 新闻Oracle数据访问层
/// 作者:
/// 创建时间:2007-5-25
/// 最后修改:
/// 最后修改时间:
/// </summary>
public class News
{
private OracleProvider objDBConn = new OracleProvider();
private OracleConnection objConn;
private OracleCommand objCmd;
private OracleDataAdapter objDA;
private DataSet objDS;
private OracleParameter objPA;

/// <summary>
/// 分页获取新闻
/// </summary>
public DataTable GetPageNews(int ipage, out int irecordperpage, out double iallrecord)
{
irecordperpage = 0;
iallrecord = 0;
try
{
objConn = objDBConn.Conn;
objCmd = new OracleCommand("PKG_News.GetPageNews", objConn);
objCmd.CommandType = CommandType.StoredProcedure;
objPA = new OracleParameter("pPage", ipage);
objCmd.Parameters.Add(objPA);
objPA = new OracleParameter("pRecordPerPage", OracleType.Number);
objPA.Direction = ParameterDirection.Output;
objCmd.Parameters.Add(objPA);
objPA = new OracleParameter("pAllRecord", OracleType.Number);
objPA.Direction = ParameterDirection.Output;
objCmd.Parameters.Add(objPA);
OracleParameter curNews = new OracleParameter("CurNews", OracleType.Cursor);
curNews.Direction = ParameterDirection.Output;
objCmd.Parameters.Add(curNews);
objDA = new OracleDataAdapter(objCmd);
objDS = new DataSet();
if (objConn.State == ConnectionState.Closed)
objConn.Open();

objCmd.ExecuteNonQuery();
objDA.Fill(objDS, "V3News");
if (objCmd.Parameters["pRecordPerPage"].Value == DBNull.Value || objCmd.Parameters["pRecordPerPage"].Value.ToString() == "")
irecordperpage = 0;
else
irecordperpage = Convert.ToInt32(objCmd.Parameters["pRecordPerPage"].Value);
if (objCmd.Parameters["pAllRecord"].Value == DBNull.Value || objCmd.Parameters["pAllRecord"].Value.ToString() == "")
iallrecord = 0;
else
iallrecord = Convert.ToDouble(objCmd.Parameters["pAllRecord"].Value);
return objDS.Tables["V3News"];
}
catch (Exception e)
{
throw e;
}
finally
{

    
[3]oracle锁表解锁
    来源:    发布时间: 2013-10-16
1.select * from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID;
2.alter system kill session '144(SID),12602(SERIAL#)';

 

本文链接


    
最新技术文章:
▪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监控脚本实现
▪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,