oracle基本操作语句

create table LogRecord (                   --建立表
logRecord_id varchar2(10) primary key,
operateType varchar2(10),
oldInfo varchar2(100),
newInfo varchar2(100),
operatorUser varchar2(30),
operatingTime varchar2(20)
)

comment on table LogRecord is '员工信息、公司信息、岗位信息、员工岗位操作日志记录表';            --表的注释
comment on column LogRecord.operateType is '操作类型';
comment on column LogRecord.Oldinfo is '更改前数据';
comment on column LogRecord.Newinfo is '更新的数据';
comment on column LogRecord.Operateuser is '操作人';
comment on column LogRecord.Operatingtime is '操作时间';


create sequence LOGRECORD_SEQ           --建立sequences
minvalue 1
maxvalue 999999999
start with 1
increment by 1
order;

@Id
@Column(name = "LOGRECORD_ID", unique = true, nullable = false, length = 10)                    --建立好的 sequences使用
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="LOGRECORD_SEQ")
@SequenceGenerator(name="LOGRECORD_SEQ", sequenceName="LOGRECORD_SEQ",allocationSize = 1)
    public long getLogRecord_id() {
        return logRecord_id;
    }

    public void setLogRecord_id(long logRecord_id) {
        this.logRecord_id = logRecord_id;
    }



create index index_finance on prpjplanfee(comcode,currency,ntplanfee,riskcode,domicilecode,voucherdate,payrefreason);                      --建立索引


                                                                                                      
create public database link MSIC_APPUSER(dblink名字) connect to appuser(用户名) identified by appuser(密码) using  '(DESCRIPTION =         --dblink的创建
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.1.160)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = msiedw140)
)
)';

select * from from  vat_acnt_m_mvtc@msic_appuser t(@前面是表名,@后面是dblink名字)                --dblink的使用



create or replace procedure sp_demo(param1 in varchar2,param2 out varchar2)                     --oracle的存储过程写法
as
cnt int;
rst varchar2(100)
Begin
  Select count(*) into cst from Tab_Demo where Col_Value = param1;(into是把查出count(*)的值赋给cst)
   If (cst > 0) then
      param2 := '有匹配的值';
   Else
      param2 := '无匹配的值';
   End if;
Exception
   When others then
      Rollback;
End;

   
 conn = DriverManager.getConnection(url,username,password);             --oracle的存储过程的使用(代码中实现)
 conn.prepareCall("{sp_demo(?)}");         


 找到procedure,选择需要执行的procedure,右击测试。                   --oracle的存储过程的使用(PL/SQL中实现)    



create or replace view view_name  as                              --创建视图
select *
from tableName;



create or replace function fun1(a in varchar2,b out varchar2)           --oracle函数通用写法
return varchar2 as
str varchar2(100);
begin
str:='Your input is '||a;
b:=a;
return str;
end;
      
dbms_output.put_line(fun1('A',b));                            --调用oracle函数
dbms_output.put_line(b);


修改字段:  alter table  table_name rename column old_column_name to new_column_name;
增加字段:  alter table  table_name add  (column_name  varchar2(20));
删除字段:  alter table  table_name drop (column_name);



oracle的游标是啥?游标其实是相当于把磁盘数据整体放入了内存中,在内存中进行遍历读写。如果游标数据量大则会造成内存不足。





SIGN:取数字n的符号,大于0返回1,小于0返回-1,等于0返回0

DECODE(SIGN(t2.validdate-t2.underwritedate),1,t2.validdate,t2.underwritedate)

varchar2(10)中,   汉字 、英文字母、数字    一个占一个空间,即共10个,能录10个汉字或英文字母或数字
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值