oracle数据库常用的脚本语句

一、创建表

declare
  i_count integer;
begin
  select count(*) into i_count from user_tables a where upper(a.table_name) = 'T_STOCK_HGT';
  if i_count = 0 then 
    execute immediate 'create table T_STOCK_HGT
(
  N_ID                   NUMBER(18) not null,
  C_SEC_CODE           VARCHAR2(20) not null,
  C_SEC_NAME           VARCHAR2(50) not null,
  C_ISIN_CODE          VARCHAR2(50),
  C_MKT_CODE           VARCHAR2(5),
  C_SEC_LB             VARCHAR2(5),
  N_CAPITAL            NUMBER(30,4),
  N_CIR_CAPITAL        NUMBER(30,4),
  C_PLATE_CODE         VARCHAR2(20) NOT NULL,
  D_UPDATE_TIME        DATE NOT NULL,
  C_UPDATE_BY		   VARCHAR2(20) NOT NULL
)';  
execute immediate 'comment on column T_STOCK_HGT.C_SEC_CODE
  is ''证券代码''';
execute immediate 'comment on column T_STOCK_HGT.C_SEC_NAME
  is ''证券名称''';
execute immediate 'comment on column T_STOCK_HGT.C_ISIN_CODE
  is ''ISINcode''';
execute immediate 'comment on column T_STOCK_HGT.C_MKT_CODE
  is ''市场代码''';
execute immediate 'comment on column T_STOCK_HGT.C_SEC_LB
  is ''证券类别''';
execute immediate 'comment on column T_STOCK_HGT.N_CAPITAL
  is ''总股本''';
execute immediate 'comment on column T_STOCK_HGT.N_CIR_CAPITAL
  is ''流通股本''';
execute immediate 'comment on column T_STOCK_HGT.C_PLATE_CODE
  is ''板块代码''';
execute immediate 'comment on column T_STOCK_HGT.D_UPDATE_TIME
  is ''更新时间''';
execute immediate 'comment on column T_STOCK_HGT.C_UPDATE_BY
  is ''更新人''';

  
execute immediate 'alter table T_STOCK_HGT
  add constraint PK_STOCK_HGT primary key (N_ID,C_SEC_CODE)
  using index';
  
  end if;
end;
/

二、创建序列

declare
  i_count integer;
begin
  select count(*) into i_count from user_sequences where SEQUENCE_NAME='SEQ_T_STOCK_HGT' ;
  if i_count = 0 then 
    execute immediate 'create sequence SEQ_T_STOCK_HGT
minvalue 1
maxvalue 999999999999999999999999999
start with 1
increment by 1
cache 20';  
  end if;
end;
/

三、创建触发器

CREATE OR REPLACE TRIGGER "TRIG_T_STOCK_HGT_ID"
BEFORE INSERT ON T_STOCK_HGT
FOR EACH ROW
BEGIN
    Select SEQ_T_STOCK_HGT.NEXTVAL INTO :NEW.N_ID
    FROM DUAL;
END;
/
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Windows操作系统下的Oracle数据库备份脚本可以使用Oracle提供的工具或第三方工具来实现。 一种简单的备份方案是使用Oracle提供的RMAN(Recovery Manager)工具。RMAN是Oracle数据库备份和恢复的核心工具,可以通过命令行或脚本的方式进行操作。 以下是一个基本的Windows Oracle数据库备份脚本示例: @echo off set ORACLE_SID=数据库实例名 set ORACLE_HOME=Oracle安装目录 rman target sys/oracle@数据库服务名 catalog rman/rman@目录数据库实例名 <<EOF run { allocate channel t1_type1 device type disk format 'E:\backup\%d_DB_%U_%T.bak'; backup database plus archivelog formats 'E:\backup\%d_arch_%U_%T.bak'; delete noprompt obsolete; } EOF 上述脚本首先将ORACLE_SID和ORACLE_HOME设置为相应的实例名和Oracle安装目录。然后使用rman命令来连接到数据库并运行备份操作。 具体来说,这个脚本的作用是备份整个数据库和归档日志。allocate channel语句用于分配备份通道,每个通道对应一个备份设备(磁盘)。其中t1_type1是通道名称,disk表示备份设备类型,格式为'E:\backup\%d_DB_%U_%T.bak'表示备份文件的命名规则。 接下来的backup语句指定备份的内容,包括数据库和归档日志,并设置备份文件的格式。 最后,delete语句用于删除过期的备份文件,以释放存储空间。 以上只是一个简单的备份脚本示例,实际情况中可能需要根据实际需求进行更多的配置和修改。此外,还可以结合Windows的计划任务功能,定期执行备份脚本,以实现自动备份。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值