使用plsql后一些常见的操作贴出来

/**创建一个访问分析表*/
create table AccessAnalyser(
accessAnalyserId NUMBER(11) primary key,
projectName VARCHAR2(32),
actionName VARCHAR2(128),
actionstatus VARCHAR2(32),
invokeTime NUMBER(11),
ipAddress VARCHAR2(16),
logFileName VARCHAR2(128),
actionDate DATE,
createdDate DATE
);
/**创建一个序列作为访问分析表的主键*/
create sequence S_AccessAnalyser
minvalue 1
maxvalue 999999999999999999999999999
start with 1
increment by 1
cache 20;
/**清空一个表的所有数据,注意与delete的区别*/
truncate table accessanalyser;
/**重命名一个列字段名称*/
ALTER TABLE accessanalyser RENAME COLUMN logFileName to fileName;
/**删除一个表的一个列字段*/
alter table accessanalyser drop column fileName;
/**在一个表里面增加一列字段*/
alter table AccessAnalyser add actionstatus VARCHAR2(32);
/**设置外键,这里假设访问分析表(AccessAnalyser)包含帐户表(Accounts)的主键作为外键*/
alter table AccessAnalyser add accountsId NUMBER(11);
ALTER TABLE AccessAnalyser ADD CONSTRAINT accessAccountsFk
FOREIGN KEY (accountsId) REFERENCES Accounts(accountsId);
/**删除一个外键约束,以及删除一个外键关系项*/
ALTER TABLE AccessAnalyser drop CONSTRAINT accessAccountsFk;
alter table AccessAnalyser drop column accountsId;

/**给一个列字段加上注释*/
comment on column AccessAnalyser.invokeTime is '访问响应时间';
/**给一个表加上注释*/
comment on table AccessAnalyser is '访问分析表';
/**给多个字段创建索引,并设置顺序*/
create index accessurlstatus on accessanalyser (actionstatus asc,actionName desc);

/**查看非正常访问情况*/
select * from accessanalyser t
where t.projectname = 'portal' and t.actionstatus != '200'
order by t.invoketime desc;
/**查看非正常响应的状态码以及访问响应情况*/
select t.actionstatus as 状态编码,count(*) as 访问次数,avg(t.invoketime) as 平均响应时间
from accessanalyser t
where t.projectname = 'portal' and t.actionstatus != '200'
group by t.actionstatus;
/**只统计action链接的访问次数和访问时间*/
select t.actionname as 链接地址,count(*) as 访问次数,max(t.invoketime) as 最大响应时间,min(t.invoketime) as 最小响应时间,avg(t.invoketime) as 平均响应时间
from AccessAnalyser t
where t.projectname = 'portal' and t.actionname like '%.do'
group by t.actionname order by avg(t.invoketime) desc;
/**统计所有链接类型的访问次数和访问时间*/
select t.actionname as 链接地址,count(*) as 访问次数,max(t.invoketime) as 最大响应时间,min(t.invoketime) as 最小响应时间,avg(t.invoketime) as 平均响应时间
from AccessAnalyser t where t.projectname = 'portal'
group by t.actionname having avg(t.invoketime)>50 order by avg(t.invoketime) desc;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值