i在自己的电脑上装的Oracle9i,在安装的时候我用的名字是vinky,密码统一是xxx。呵呵,还算顺利,总于成功了,
在用PL/SQL IDE登录的时候我用的名字为vinky,MM:xxx 进去后,在执行 select * from emp
发现报错了,说什么视图或者表没有找到!把俺在这里花了很多时间。注意:一定要在连接数据库时,名字要为scott,MM:tiger。这样就行了。(算是本人的经验,也算是开篇的废话了)
下面是俺操作的例子:
1.%type 做类型的匹配
DECLARE
v_empno emp.empno%TYPE;
v_ename emp.ename%TYPE;
v_sal emp.sal%TYPE;
BEGIN
v_empno :='7566';
SELECT ename,sal INTO v_ename,v_sal
FROM emp e
WHERE e.empno=v_empno;
dbms_output.put_line(v_ename||','||v_sal);
END;
2.得到变的具体结构
在命令窗口下输入: desc emp; 就OK了!
3.使用%rowtype (列名个数较多时)
DECLARE
v_emp_row emp%ROWTYPE;
BEGIN
SELECT * INTO v_emp_row
FROM emp e WHERE e.empno=7788;
dbms_output.put_line(v_emp_row.sal||','||v_emp_row.ename);
END;
4.if语句
DECLARE
v_sal emp.sal%TYPE;
BEGIN
SELECT sal INTO v_sal
FROM emp e
WHERE e.empno=7566;
IF
(v_sal<=2000) THEN
v_sal :=v_sal+200;
ELSE
v_sal :=v_sal+200;
END IF;
UPDATE emp e SET e.sal=v_sal
WHERE e.empno=7566;
COMMIT;
dbms_output.put_line(v_sal);
END;
5.case when..then..end case分支1
DECLARE
v_sal NUMBER;
v_gz VARCHAR2(8);
BEGIN
v_sal:=&请输入您个工资;
CASE
WHEN v_sal<=2000 THEN v_gz:='低工资';
WHEN v_sal>2000 AND v_sal<=6000 THEN v_gz:='中工资';
WHEN v_sal>6000 THEN v_gz:='高工资';
END CASE;
dbms_output.put_line(v_sal||'是'||v_gz);
END;
6.case(条件)when..then..end if语句分支2
DECLARE
v_sal NUMBER;
v_gz VARCHAR2(8);
BEGIN
v_sal:=&请输入您个工资;
CASE v_sal
WHEN 2000 THEN v_gz:='低';
WHEN 6000 THEN v_gz:='高';
END CASE;
dbms_output.put_line(v_sal||'是'||v_gz);
END;
7.循环语句1(loop ..end loop)
DECLARE
v_count NUMBER;
v_a NUMBER;
BEGIN
v_count :=&输入循环次数;
v_a:=1;
LOOP
dbms_output.put_line('TMD是的SB!');
v_a :=v_a+1;
IF(v_a>v_count) THEN
EXIT;
END IF;
END LOOP;
END;
8.循环语句2(while 条件 loop...end loop)
DECLARE
v_count NUMBER;
v_a NUMBER;
BEGIN
v_a:=1;
WHILE(v_a<=10)
LOOP
dbms_output.put_line('TMD真牛X!');
v_a:=v_a+1;
END LOOP;
END;
9.循环语句3(for..in..loop..end loop)
DECLARE
v_count NUMBER;
v_a NUMBER;
BEGIN
v_a:=1;
FOR v_a IN 1..10 LOOP
dbms_output.put_line('TMD真牛X!');
END LOOP;
END;
10.异常分类
1)系统产生的错误
2)由用户行为导致的错误
3)由应用程序发出给用户的警告
11.捕获异常(共六个版本,我就这里举两个列子)
1)捕获指定异常信息
DECLARE
v_a NUMBER;
v_b NUMBER;
v_c NUMBER;
e_my_error EXCEPTION;
PRAGMA EXCEPTION_INIT(e_my_error,-1476);
BEGIN
v_a:=8;
v_b:=0;
v_c:=v_a/v_b;
dbms_output.put_line(v_c);
EXCEPTION
WHEN e_my_error THEN
dbms_output.put_line('除数不能为0');
WHEN OTHERS THEN
dbms_output.put_line(SQLCODE||','||SQLERRM);
END;
2)自定义异常
DECLARE
v_a NUMBER;
v_b NUMBER;
v_c NUMBER;
BEGIN
v_a:=10;
v_b:=5;
IF(v_a>v_b)THEN
raise_application_error(-20009,'值太小');
END IF;
v_c:=v_a/v_b;
dbms_output.put_line(v_c);
END;
11.同义词(可以理解为别名)
例子:create synonym my_tab for emp;
分析:相对于用my_tab别名 来引用另外一张表emp
及select * from my_tal == select * from emp;
而public 一般会报错、所有一般不用public好。
理解:
在oracle中对用户的管理是使用权限的方式来管理的,也就是说,如果我们想使用数据库,我们就必须得有权限,但是如果是别人将权限授予了我们,我们也是能对数据库进行操作的,但是我们必须要已授权的表的名称前键入该表所有者的名称,遇到这种情况,我们该怎么办呢?创建个同义词吧!这样我们就可以直接使用同义词来操作表了。是不是很方便、爽啊!
分享到:
相关推荐
### PL/SQL编程基础知识 #### 一、PL/SQL简介 PL/SQL(Procedural Language for SQL)是一种过程化语言,它结合了SQL的数据操纵功能和过程化语言的控制结构,使用户能够灵活地控制数据操作流程。作为Oracle数据库...
pl/sql编程基础教程,内容丰富,适合初学者学习。
### PL/SQL基础编程知识点详解 #### 一、PL/SQL概述 PL/SQL,全称为Procedural Language for SQL,是Oracle数据库特有的高级程序设计语言。它结合了SQL的数据处理能力和传统编程语言的控制结构,使开发者能够在...
【PL/SQL编程】是Oracle数据库中用于数据库管理和应用程序开发的一种高级过程语言,它结合了SQL查询语言的威力和高级编程语言的灵活性。本章详细介绍了PL/SQL的基础知识,帮助初学者快速掌握该语言。 **4.1 PL/SQL...
1. **PL/SQL基础**:手册可能会从基础开始,介绍PL/SQL的基本结构,包括声明变量、常量、游标、记录类型等。还会讲解如何编写存储过程、函数和触发器。 2. **控制流程语句**:这包括条件判断(IF-THEN-ELSIF-ELSE)...
### Oracle PL/SQL编程基础详解 #### 一、PL/SQL概述 PL/SQL,即Procedural Language for SQL,是Oracle数据库专有的扩展性语言,用于增强SQL的功能,使其具备编程语言的能力。通过PL/SQL,开发者可以编写复杂的...
在提供的"PLSQL基础.pdf"文件中,你将可能找到以上各点的详细讲解,从基础概念到实际应用,逐步引导你掌握Oracle数据库的PL/SQL编程。通过深入学习和实践,你将能够编写出高效、可靠的PL/SQL代码,有效管理Oracle...
### PL/SQL编程基础知识点详解 #### 一、PL/SQL概述 PL/SQL(Procedural Language for SQL)是一种过程化SQL扩展语言,专为Oracle数据库设计,它结合了SQL的强大数据处理能力和传统程序设计语言的过程化控制能力。...
1. **基础语法**:PL/SQL是过程化SQL,它包含声明部分、执行部分和异常处理部分。声明部分用于定义变量、常量和游标;执行部分包含了SQL语句和流程控制结构,如循环、条件判断等;异常处理部分则用于捕获和处理运行...
Oracle PL/SQL编程是Oracle数据库管理系统中的重要组成部分,它是一种过程化语言,允许开发者编写复杂的数据库应用程序。在本次实验中,我们将重点学习PL/SQL的基本语法、控制结构、复合数据类型以及异常处理技术。 ...
PL/SOL是Oracle特有的编程语言,它不仅具有过程编程语言的基本特征(循环、条件分支等),而且还...本书不仅适合于PL/SQL初学者,而且也适合于有经验的PL/SQL编程人员,本书还可以作为Oracle培训班的教材或者辅助材料。
循环语句是PL/SQL编程中用来重复执行一组语句的结构,包括loop、while、for三种形式,它们各自有不同的使用场景和语法。 分支条件语句在PL/SQL中用来根据不同的条件执行不同的代码分支,主要包括CASE表达式和if-...
本书《精通Oracle10g PL/SQL编程》为读者提供了一个系统性的学习路径,从基础知识到高级应用,从具体技巧到最佳实践,涵盖了PL/SQL编程的方方面面。通过本书的学习,读者将能够有效地提高Oracle数据库编程的效率和...
《精通PL/SQL》这本书是针对Oracle数据库系统中PL/SQL编程语言的深度解析与实践指南,主要面向希望提升在Oracle环境下使用PL/SQL技能的专业人士。PL/SQL,全称为Procedural Language/Structured Query Language,是...
本资源"PL/SQL 核心基础代码"是针对PL/SQL初学者的一个宝贵资料集合,包含了一系列核心基础部分的代码实例,旨在帮助学习者更好地理解和掌握PL/SQL编程。 在PL/SQL中,主要涉及以下几个关键知识点: 1. **声明变量...
《Oracle PL/SQL程序设计(第5版)》基于Oracle数据库11g,从PL/SQL编程、PL/SQL程序结构、PL/SQL程序数据、PL/SQL中的SQL、PL/SQL应用构建、高级PL/SQL主题这6个方面详细系统地讨论了PL/SQL以及如何有效地使用它。...
#### 一、PL/SQL编程基础 - **PL/SQL简介**:PL/SQL(Procedural Language for SQL)是Oracle数据库的一种内嵌式过程化语言,用于增强SQL的功能。它允许在SQL查询的基础上添加控制流语句、变量定义、错误处理等特性...
本次实验旨在使学习者深入了解PL/SQL编程的基础知识与实际应用。具体目标包括: 1. **掌握PL/SQL的数据类型和基本语法**:理解PL/SQL中不同数据类型的定义与使用方法,包括字符串类型等。 2. **熟悉控制结构与游标...
总而言之,《精通Oracle 10g PL/SQL编程》是一本面向数据库开发人员和DBA的专业书籍,它不仅涵盖了PL/SQL编程的基本概念和语法,还深入介绍了如何在Oracle 10g这个具体版本的数据库管理系统中高效使用PL/SQL,从而...