oracle基础

用户解锁语句:alter user scott account unlock;

参数的基本使用

 if (xTownRowid != 0) then
                            vsql := vsql || ' and dmrt.publicObjectrowId = :1';
                            execute   immediate  vsql using xTownRowid;

存储过程中定义变量字符串尽量大一点否则会出错

 

 

1.select * from (select oi_idf,maxdate,maxdata from hz_zd_minmaxgl where datadate>='2009-07-01' and datadate<='2009-07-25'
 and oi_idf=913347 order by MAXDATA desc ) where rownum=1

2.to_char(getedate(),'yyyy-MM-dd')

3.select pw.gdjname,pw.bdzname,pw.linename,b.transformerId,b.transformerName ,c.setAddress  ,b.transformerSize,dm.*
  from oj_group_pw pw,dmr_transformer b,dmr_measurepoint c,
  (   select * from DMR_MaxLoad where (oi_idf,datasum) in (select oi_idf, max(datasum)   from DMR_MaxLoad
   where  datadate>=to_date('2009-7-29 0:00:00','yyyy-MM-dd HH24:mi:ss')  
   and datadate< to_date('2009-7-29 0:00:00','yyyy-MM-dd HH24:mi:ss')  group by oi_idf ) )  dm
   where pw.dbid=c.measurepointrowid   and b.transformerRowId=c.transformerRowId and pw.termid=dm.oi_idf 
   and gdjid=5076703 and dm.datadate>=to_date('2009-7-29 0:00:00','yyyy-MM-dd HH24:mi:ss')  and
   dm.datadate <to_date('2009-7-29 0:00:00','yyyy-MM-dd HH24:mi:ss') and ( dm.DATASUM >=0  and dm.DATASUM >=0  )
    order by b.transformername desc,dm.Datadate desc

4.vOneCn.ExecSQL("if object_id('#MaxLoadGridzdliulimit') is not null drop table #MaxLoadGridzdliulimit");


5.using (userReader = DbConnect.Instance.GetReader("select * from  all_tables  where  table_name = upper('TMP_WEB_MaxLGzdliulimit')"))


6.常见sql类型对应关系关系
 
Oracle   Sybase   备注
-------------------------------------------------------------------------------------
number(m,n)  numeric(m,n)  主要用于id标识,m、n为正整数,下同
number(10,0)  int
number(1,0)  tinyint
varchar2(n)  varchar(n) 
char   char
date   datetime
blob   image
clob   text


7.PL/SQL 查看表结构
  1.文件-新建-命令窗口-desc tableName   2.在SQL窗口中 选中表名 右键查看


8.oracle客户端,服务器
 安装完客户端在开始程序中可以看到Oracle - OraClient10g_home2
 安装完服务器在开始程序中可以看到Oracle - OraDb10g_home10
 在Oracle - OraDb10g_home10中创建数据库
   配置和移植工具-Database Configuration Assistant
 然后打开PL/SQL使用system帐户登录

9.oracle配置
        E:\oracleServer\NETWORK\ADMIN\tnsnames.ora
10.Oracle数据库文件移动方法
    Oracle数据库在使用过程中,随着数据的增加数据库文件也逐渐增加,在达到一定大小后有可能会造成硬盘空间不足;那么这时我们可以把数据库文件移动到另一个大的硬盘分  区中。

  Oracle数据库在使用过程中,随着数据的增加数据库文件也逐渐增加,在达到一定大小后有可能会造成硬盘空间不足;那么这时我们可以把数据库文件移动到另一个大的硬盘分 区中。下面我就以Oracle for Windows版本中把C盘的数据库文件移动到D盘为例介绍Oracle数据库文件移动的方法和步骤。

  1.在sqlplus中连接到要移动文件的Oracle数据库,然后执行如下SQL语句查看Oracle数据库文件位置:

  SQL> select file_name from sys.dba_data_files; FILE_NAME -------------------------------------------------------------- C:\ORA8\ORADATA\ORACLE\USERS01.DBF C:\ORA8\ORADATA\ORACLE\DR01.DBF C:\ORA8\ORADATA\ORACLE\TOOLS01.DBF C:\ORA8\ORADATA\ORACLE\INDX01.DBF C:\ORA8\ORADATA\ORACLE\RBS01.DBF C:\ORA8\ORADATA\ORACLE\TEMP01.DBF C:\ORA8\ORADATA\ORACLE\SYSTEM01.DBF

  查询到7记录.

  记录要移动的文件的位置和名称。

  2.下面我们以把文件“C:\ORA8\ORADATA\ORACLE\USERS01.DBF”移动到“D:\ORADATA\USERS01.DBF”为例介绍,要移动其它文件,请安相同的方法(根据实际情况修改文件路径和名称)操作即可。

  <1> 首先让所有的用户停止连接该数据库,关闭数据库。在命令行窗口中输入:

  C:\svrmgrl(回车) SVRMGR>connect internal(回车) SVRMGR>shutdown immediate(回车) #等待数据库提示关闭 SVRMGR>exit

  <2> 从“C:\ORA8\ORADATA\ORACLE\”目录下找到文件“USERS01.DBF”,然后复制到目录“D:\ORADATA\”下面。假如移动多个文件,重复该步骤。

  <3> 进入命令窗口,按以下内容输入:

  C:\svrmgrl(回车)

  SVRMGR>connect internal(回车)

  SVRMGR>startup mount(回车)

  #等待数据库提示装载成功

  SVRMGR>alter database rename file 'C:\ORA8\ORADATA\ORACLE\USERS01.DBF' to 'D:\ORADATA\USERS01.DBF';

  #提示语句已处理后,假如要移动多个文件,修改文件路径和名称后重复执行上面的语句。完成后打开数据库。

  SVRMGR>alter database open;

  SVRMGR>exit

  数据库文件移动成功。

11. TRUNC 字符串格式  select TRUNC(sysdate,'fmyy') from dual 结果:2009-1-1
        select TRUNC(sysdate,'fmdd') from dual 结果:2009-8-12
        select TRUNC(sysdate,'fmmm') from dual 结果:2009-8-1

12.自增字段
 create table temp
(
id   number,
name varchar2(20),
primary key(id)
);


create sequence s1
increment by 1
start with 1;

create or replace trigger t10
before insert
on temp
for each row
begin
select s1.nextval into :new.id from dual;
end;
/


insert into temp(name) values('张3');
insert into temp(name) values('张4');
insert into temp(name) values('张5');

13.
    select datadate,oriscdata,orisrdata from zxsmonthdata_v
where oi_idf=7293888 and datadate>=to_date('2008-01-01','yyyy-MM-dd') and
datadate<=to_date('2009-12-31','yyyy-MM-dd')

14.
    让plsql语句时间可以与字符串比较 需添加注册表信息或运行ORACLE配置.reg
15.System.Data.OracleClient需要Oracle客户端软件8.1.7或更高版本
 我的电脑右键管理用户ASPNET右键隶属于administrator
16.plsql区分大小写
17.create table tablename as select * from tablename
 select last_day('2009-9-10') from dual
 select to_char(to_date('2009-9-4','yyyy-MM-dd'),'yyyy-MM') || '-01' from dual


18.create table a as ( select * from b),数据可以同时插入


 

 

posted @ 2009-11-20 17:37  XGU_Winner  阅读(314)  评论(0)    收藏  举报