sql语句相关操作
create user test identified by test
default tablespace users
temporary tablespace temp
quota 3M on users; grant connect,resource to test with admin option; conn test/test show user;
alter user test identified by test1;//修改用户口令 grant create any view to scott;
revoke create any view from scott; grant select,update on dept to public;//授予实体权限
revoke update on dept from public; //回收实体权限 create role app_user identified by hello; //创建角色
grant create view to app_user; //授予创建视图权限
grant app_user to test; //角色授予用户,这些用户都具有这个角色的权限 create user WangMing identified by WangMing
default tablespace userwang
temporary tablespace tempwang
quota 3M on userwang; create user LiYong identified by LiYong
default tablespace userli
temporary tablespace templi
quota 3M on userli;
CREATE USER WangMing IDENTIFIED BY WangMing
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp
QUOTA 3M ON users; CREATE USER LIYONG IDENTIFIED BY LIYONG
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp
QUOTA 3M ON users; GRANT CONNECT,RESOURCE to WangMing WITH ADMIN OPTION;
GRANT CONNECT,RESOURCE to LIYONG WITH ADMIN OPTION; CREATE TABLE Mydept
(
DNO VARCHAR2(10),
DNAME VARCHAR2(10),
MANAGER VARCHAR2(10),
LOC VARCHAR2(10),
PHONE VARCHAR(10),
CONSTRAINT PK_Mydept PRIMARY KEY (DNO)
); CREATE TABLE Myemp
(
ENO VARCHAR2(10),
ENAME VARCHAR2(10),
AGE NUMBER(10),
JOB VARCHAR2(10),
SAL NUMBER(10),
DNO VARCHAR2(10),
CONSTRAINT PK_Myemp PRIMARY KEY (ENO),
CONSTRAINT FK_Myemp_To_Mydept FOREIGN KEY (DNO) REFERENCES Mydept (DNO)
);
INSERT INTO Mydept VALUES('','SALES','ZHAOSI','WuHan','');
INSERT INTO Myemp VALUES('','LIYONG',26,'SALESMAN',3400,'');
INSERT INTO Myemp VALUES('','SCOTT',24,'SALESMAN',3400,'');
INSERT INTO Myemp VALUES('','WANGMING',24,'SALESMAN',3400,''); INSERT INTO scott.Mydept VALUES('','OFFICE','ZHANGHENG','BeiJing',''); GRANT select(MAX(SAL)) ON Myemp TO ZHANGXIN;
CREATE TABLE Employee
(
ENO VARCHAR2(10),
ENAME VARCHAR2(10),
BIRTH VARCHAR(15),
JOB VARCHAR2(10),
SAL VARCHAR2(10),
DNO VARCHAR2(10),
STATE VARCHAR2(10),
PRIMARY KEY(ENO),
FOREIGN KEY(DNO) REFERENCE TO Department(DNO)
);
CREATE TABLE Department
(
DNO VARCHAR2(10),
DNAME VARCHAR2(10),
MAGNO VARCHAAR2(10),
LOC VARCHAR2(10),
PHONE VARCHAR2(12),
PRIMARY KEY(DNO)
); CREATE TABLE Teacher
(
Eno NUMERIC(4),
Sal NUMERIC(7,2),
PJob char(10),
CONSTRAINT PK_Teacher PRIMARY KEY(Eno) VALIDATE
); CREATE OR REPLACE TRIGGER Insert_Or_Update_Sal
BEFORE INSERT OR UPDATE ON Teacher
FOR EACH ROW
WHEN((NEW.PJob='教授') AND (new.Sal<4000))
BEGIN
select 4000 into:new.Sal from dual;
END;
/ INSERT INTO Teacher VALUES('','','教授');
INSERT INTO Teacher VALUES('','','教授');
INSERT INTO Teacher VALUES('','','教授'); CREATE TABLE Sal_log
(
Eno NUMERIC(4),
Sal NUMERIC(7,2),
Username char(80),
DDate TIMESTAMP,
CONSTRAINT PK_Sal_log PRIMARY KEY(Eno)
); CREATE OR REPLACE TRIGGER Insert_Sal
AFTER INSERT ON Teacher
FOR EACH ROW
BEGIN
INSERT INTO Sal_log VALUES(:new.Eno,:new.Sal,user,sysdate);
END;
/ CREATE TABLE Department
(
No NUMBER(12),
Name CHAR(40),
PRIMARY KEY(No)
); CREATE TABLE Students
(
No NUMBER(12),
Name CHAR(8),
Sex INTEGER DEFAULT 0,
Birthday DATE,
Class CHAR(40),
DeptNo NUMBER(12),
PRIMARY KEY(No),
FOREIGN KEY(DeptNo) REFERENCES Department(No)
); CREATE TABLE Course
(
No NUMBER(12),
Name CHAR(8),
Credit FLOAT,
PRIMARY KEY(No)
); CREATE TABLE SC
(
CNo NUMBER(12),
SNo NUMBER(12),
Grade FLOAT,
PRIMARY KEY(CNo,SNo),
FOREIGN KEY(CNo) REFERENCES Course(No),
FOREIGN KEY(SNo) REFERENCES Students(No)
); CREATE TABLE SC_U
(
CNo NUMBER(12),
SNo NUMBER(12),
Oldgrade FLOAT,
Newgrade FLOAT
); CREATE OR REPLACE TRIGGER SC_T
AFTER UPDATE OF Grade ON SC
FOR EACH ROW
WHEN (NEW.Grade>=1.1*OLD.Grade)
BEGIN
INSERT INTO SC_U(SNo,CNo,OldGrade,NewGrade)
VALUES(:OLD.SNo, :OLD.CNo, :OLD.Grade, :NEW.Grade);
END;
/ CREATE TABLE StudentInsertLog
(
InsertDate DATE,
InsertNumber NUMBER(12),
Operator CHAR(20)
); CREATE OR REPLACE TRIGGER Student_Count
AFTER INSERT ON Students
DECLARE
ICount NUMBER(12);
temp NUMBER(12);
BEGIN
SELECT COUNT(*) INTO temp FROM StudentInsertLog;
SELECT COUNT(*) INTO ICount FROM Students;
IF(temp<>0) THEN
SELECT InsertNumber INTO temp FROM StudentInsertLog
WHERE InsertDate = (SELECT MAX(InsertDate) FROM StudentInsertLog);
END IF;
INSERT INTO StudentInsertLog (InsertDate, InsertNumber, Operator)
VALUES(SYSDATE, ICount-temp,user);
END;
/
sql语句相关操作的更多相关文章
- [20190328]简单探究sql语句相关mutexes.txt
[20190328]简单探究sql语句相关mutexes.txt --//摘要:http://www.askmaclean.com/archives/understanding-oracle-mute ...
- [20190329]探究sql语句相关mutexes补充2.txt
[20190329]探究sql语句相关mutexes补充2.txt --//昨天测试sql语句相关mutexes,看看如果出现多个子光标的情况. 1.环境:SCOTT@book> @ ver1P ...
- 捷信达会员管理系统SQL语句相关
捷信达会员管理系统SQL语句相关 USE gshis GO SET ANSI_NULLS, QUOTED_IDENTIFIER ON GO /***************************** ...
- MySQL与SQL语句的操作
MySQL与SQL语句的操作 Mysql比较轻量化,企业用的是Oracle,基本的是熟悉对数据库,数据表,字段,记录的更新与修改 1. mysql基本信息 特殊数据库:information_sche ...
- SQL语句 远程操作数据库
--远程操作数据库SQL语句exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '211.81.251.85 'exec sp_addlinkedsr ...
- EF Core中执行Sql语句查询操作之FromSql,ExecuteSqlCommand,SqlQuery
一.目前EF Core的版本为V2.1 相比较EF Core v1.0 目前已经增加了不少功能. EF Core除了常用的增删改模型操作,Sql语句在不少项目中是不能避免的. 在EF Core中上下文 ...
- 使用Phoenix通过sql语句更新操作hbase数据
hbase 提供很方便的shell脚本,可以对数据表进行 CURD 操作,但是毕竟是有一定的学习成本的,基本上对于开发来讲,sql 语句都是看家本领,那么,有没有一种方法可以把 sql 语句转换成 h ...
- 使用Mysql执行SQL语句基础操作
SQL: 又叫结构化语言,是一种用来操作RDBMS的数据库语言,在关系型数据库中都支持使用SQL语句,如oracle.mysql等等. 注意: 在关系型数据库中sql语句是通用的,而在非关系型数据库 ...
- java通过反射拿到mybatis中的sql语句并操作
private static final int MaxBatchLength = 100; public void updateBatch(List<T>list, BaseMapper ...
随机推荐
- 进程ps、kill 、grep
linux上进程有5种状态: 1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有 ...
- 零基础学习云计算及大数据DBA集群架构师【Linux Bash Shell编程及系统自动化2015年1月21日周四】
lvy老师教项目课程,以及代课了shell部分课程,大家都觉得这位老师不行,上课时做的操作很多都是错误的,觉得她基础不好.而且,她不能解释原因,学生问为什么,她不知道.崩溃啊.向xx培训机构反应后,说 ...
- NYOJ 980 格子刷油漆 动态规划
这道题目状态转移方程比较复杂,刚开始以为没这么多情况,看了好多大牛的博客再加上与同学讨论才看懂,写下心得. 因为起点不固定,所以我们一个一个来考虑,先从角上考虑,设三个数组来表示分别为D,A,Sum, ...
- Oracle 学习笔记(一)Oracle的基本介绍与语法
1.1 Oracle基础知识 1.1.1 介绍 Oracle数据库的主要特点: 支持多用户.大事务量的事务处理 在保持数据安全性和完整性方面性能优越 支持分布式数据处理 具有可移植性 1.1.2 Or ...
- C# 窗口传值的方法
方法一: A to B 设置FormB 为 带参数的构造函数 public Form2( object msg) { InitializeComponent(); } 方法二: A to B 定义一 ...
- C++线性序列容器<vector>简单总结
C++线性序列容器<vector>简单总结 vector是一个长度可变的数组,使用的时候无须声明上限,随着元素的增加,Vector的长度会自动增加:Vector类提供额外的方法来增加.删除 ...
- DHCP租约时间工作原理
问题: 很多用户在使用路由器的DHCP服务器过程中都有一个疑问,DHCP有个设置项目是设置DHCP地址的租约时间,如果设置的比较短,是否会出现租约时间到了以后会重新去获取ip地址,造成用户断网? ...
- PHP Date/Time 函数
Runtime 配置 Date/Time 函数的行为受到 php.ini 中设置的影响: 名称 描述 默认 PHP 版本 date.timezone 规定默认时区(所有的 Date/Time 函数使用 ...
- 如何启动Service,如何停用Service(转)
如何启用Service,如何停用Service Android中的服务和windows中的服务是类似的东西,服务一般没有用户操作界面,它运行于系统中不容易被用户发现,可以使用它开发如监控之类的程序.服 ...
- 转:初学者,手工注入测试方法小节 (出处:: 51Testing软件测试网--jie)
1.加入单引号 ’提交, 结果:如果出现错误提示,则该网站可能就存在注入漏洞. 2.数字型判断是否有注入; 语句:and 1=1 ;and 1=2 (经典).' and '1'=1(字符型) ...