数据库控制语句DCL

--
DECLARE
text emp.empno%TYPE :=7499;
rec emp%ROWTYPE;
BEGIN
SELECT * INTO rec FROM emp WHERE empno=text;
DBMS_OUTPUT.PUT_LINE(‘姓名:‘||rec.ename||‘工资:‘||rec.sal||‘工作时间:‘||rec.hiredate);
END;

declare
text2 jiesuan.商品%type :=‘手机‘;
ee jiesuan%rowtype;
begin
select * into ee from jiesuan where 商品=text2;
dbms_output.put_line(‘商品:‘||ee.商品);
end;

--嵌套
DECLARE
v_Number emp.empno%type :=7782;
dd emp%rowtype;
BEGIN
DECLARE
v_number2 emp.empno%type :=7788;
ff emp%rowtype;
BEGIN
select * into ff from emp where empno=v_number2;
dbms_output.put_line(‘姓名:‘||ff.ename);
END;
select * into dd from emp where empno=v_number;
dbms_output.put_line(‘********************‘||dd.ename||‘--‘||dd.sal);
END;
--if条件判断
declare
v_id stu1.成绩%type :=&jhvgh;
v_name stu1%rowtype;
begin
if v_id>50 then
select * into v_name from stu1 where 成绩=v_id;
dbms_output.put_line(‘姓名:‘||v_name.姓名);
else
select * into v_name from stu1 where 成绩=v_id;
dbms_output.put_line(‘姓名:‘||v_name.班级);
end if;
end;
--case表达式
declare
v_id stu1.成绩%type :=&jjj;
v_name varchar(30);
begin
select stu1.姓名 into v_name from stu1 where stu1.成绩=v_id;
v_name :=
case v_id
when 10 then V_name
when 20 then V_name
when 50 then V_name
end;
dbms_output.put_line(‘v_name:‘||V_name);
end;
--循环语句loop
declare
int number(20) :=0;
begin
loop
int :=int+1;
insert into stu1 values(‘马‘,‘四年六班‘,1003,43);
exit when int=2;
end loop;
end;
select * from stu1
--循环语句while
declare
int number(30) :=1;
begin
while
int <=3
loop
dbms_output.put_line(‘数值:‘||int);
int :=int+1;
end loop;
end;
--循环语句for
declare
int number(30) :=0;
begin
for int in 1..4 loop
dbms_output.put_line(‘int=‘||int);
end loop;
end;
--rollback回滚
select * from emp
delete emp where empno=7777
rollback;
--commit提交数据
--savepoint创建保存点
create table stu3(
v_name varchar2(10),
v_number number(10)
);
savepoint a;
insert into stu3 values(‘马强‘,1001 );
savepoint b;
insert into stu3 values(‘马季‘,1002 );
savepoint C;
update stu3 set v_name=‘马云‘ where v_number=1001;
rollback to savepoint b;
--查询表
select * from stu3;

时间: 2024-10-10 22:39:18

数据库控制语句DCL的相关文章

37、mysql数据库(dcl)

在数据库中参考:"12.创建mysql用户及赋予用户权限"文件. 原文地址:https://www.cnblogs.com/LiuChang-blog/p/12320625.html

《oracle每天一练》触发器不能调用或间接调用COMMIT,ROLLBACK等DCL语句

触发器不能调用或间接调用COMMIT,ROLLBACK等DCL语句 在触发器中不能运行 ddl语句和commit,rollback语句 ddl语句:DDL语句用语定义和管理数据库中的对象,如Create,Alter,Drop,truncate等:DDL操作是隐性提交的!         操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger DML(Data Manipulation Language)数据操纵语言命令使用户能够查询数据库以及操作已有数

orcal数据库基础1

数据库总结 语言分类 详细描述 1.数据查询语句 Select 2.数据操纵语句(DML) Insert; Update; Delete; 3.数据库定义语句(DDL) Create; Alter; Drop; Rename; Truncate; 4.事物控制语句(TC) Commit Rollback Savepoint; 5.数据控制语句(DCL) Grant Revoke 数据:是数据库的基本对象,是描述失误符号记录. 数据库:是存储管理数据.展现的建立在计算机上的仓库 1962年开始有了

##什么是MySql数据库?它的基本用法

数据库简而言之就是存放数据的仓库,是为了实现一定的目的,按照某种规则组织起来的数据的集合. 那么我们常见的数据库模型: 1,关系型数据库 MySql Oracle SQL Server 2,非关系型数据库 2,1文档存储数据库 MongDB 2,2键值存储数据库 Redis Memcached 2,3列存储数据库 HBase 2,4图形数据库 Neo4J 关于数据库在公司面试的题目都有那些呢? 1,SQL语句操作数据库 2,SQL语句操作表结构 3,表和类之间的关系 字段和属性之间的关系 表对应

Python学习之数据库初识

9 数据库 9.1 数据库的初识 ? 数据库是可以独立运行的,并且可以对数据的增删改查提供高效便捷方式的工具. 数据库解决的问题: ? 解决了操作文件的效率和便捷问题 ? 解决了多个服务同时使用数据时的一致性问题 ? 解决了安全问题 ? 解决了并发问题 数据库的优点: ? 程序稳定性:应用服务器的崩溃不会影响数据的安全 ? 数据的一致性:将所有数据的管理统一,所有对数据的操作统一 ? 并发:数据库支持并发的网络操作,不需要我们自己写socket ? 效率:使用数据库对数据进行增删改查的效率比操作

Oracle和Mysql数据库技术

1.查资料,回答下面问题: a.Oracle公司的诞生和发展 (1)1977年程序员埃里森和另外两名程序员创建了软件开发实验室(Software Development Laboratories).(2)1970年IBM的一名研究人员写了一篇名为<大型共享数据库的关系数据模型>的论文,埃里森3人受到这篇文章的启发,决定构建一种新型数据库,称为关系数据库系统(relational database system).(3)他们的第一个项目是为美国政府做的,他们给它取名为”Oracle”,因为他们认

Java复习之数据库编程

一.JDBC概述 1. JDBC的主要作用(Java Database Connectivity,Java数据库连接) 提供了一种与平台无关的用于执行SQL语句的标准Java API,由一组用Java语言编写的类和接口组成 JDBC 驱动分类: JDBC-ODBC桥驱动 JDBC本地驱动 JDBC网络驱动 本地协议纯JDBC驱动 2. JDBC的主要操作接口 java.sql.DriverManager java.sql.Connection java.sql.Statement java.sq

Oracle数据库学习笔记1—SQL

什么是SQL? SQL是结构化查询语言(英语:Structural Query Language,缩写:SQL),是一种特殊目的之编程语言,用于数据库中的标准数据查询语言. SQL 是一种为数不多的声明性语言,它的运行方式完全不同于我们所熟知的命令行语言.面向对象的程序语言.甚至是函数语言.首先要在脑袋中有个"声明"的概念,SQL 语言是为计算机声明了一个你想从原始数据中获得什么样的结果的一个范例,而不是告诉计算机如何能够得到结果. SQL语法不按套路出牌. SQL有以下的几个分类:

数据库面试整理

概念 1.什么是视图?以及视图的使用场景有哪些? 视图是一种虚拟的表,具有和物理表相同的功能.可以对视图进行增,改,查,操作,试图通常是有一个表或者多个表的行或列的子集.对视图的修改不影响基本表.它使得我们获取数据更容易,相比多表查询. 只暴露部分字段给访问者,所以就建一个虚表,就是视图. 查询的数据来源于不同的表,而查询者希望以统一的方式查询,这样也可以建立一个视图,把多个表查询结果联合起来,查询者只需要直接从视图中获取数据,不必考虑数据来源于不同表所带来的差异 2.触发器的作用? 触发器是一