初学PL/SQL的一些基本知识
1,一个完整的PL/SQL 语句由三个部分组成。
declare
声明部分,定义变量,数据类型,异常,局部子程序等。
begin
执行部分,实现块的功能。
Exception
异常处理部分,处理程序执行过程中产生的异常。
end;
执行部分是必需的,而声明部分和异常部分是可选的。
可以在一个块的执行部分或异常处理部分嵌套其它的PL/SQL块
所有的PL/SQL 块都是以"end;"结束的。
2,定义一个包含声明部分,执行部分和异常处理部分的PL/SQL块
declare
v_bookName varchar2(50);
begin
select bookname into v_bookName from Book where BookId=1;
DBMS_output.put_line(v_bookName);
Exception
when no_Data_Found then
DBMS_output.put_line('there is not such a bookname');
end;
注意:若要在SQL*PLus环境中看到DBMS_OutPut.Put_Line方法的输出结果,必需将环境变量Serveroutput设置为on
SQL>set serveroutput on
3, %TYPE与%ROWTYPE
如果要定义一个类型与某个变量的数据类型或数据表中某个列的数据类型一致(不知道该变量或列的数据类型)的变量,
可以利用%Type实现。
如果要定义一个与数据库中某个表结构一致的记录类型的变量,可以利用%rowtype实现。
例如:
declare
v_book book.bookname%Type;
&
相关文档:
联接条件可在 from 或 WHERE 子句中指定,建议在 from 子句中指定联接条件。WHERE 和 HAVING 子句也可以包含搜索条件,以进一步筛选联接条件所选的行。
联接可分为以下几类:
1. ......
--------检测数据库是否存在
use master
go
if exists(select * from sysdatabases where name='DBName')
drop database DBName
-----创建数据库
create database DBName
on
(
/*数据文件的具体描述*/
name='DBName_data', -----主数据文件的逻辑名称
filename='D:\project\DBName_data.mdf', ......
这里使用的数据库和数据表分别来自Sql语句学习笔记(1)——创建数据库和Sql语句学习笔记(2)——创建数据表
use RetalDB
go
--插入数据到表tb_movie_type
insert tb_movie_type values(0,'普通片','Regular')
insert tb_movie_type values(1,'新片','NewRelease')
insert tb_movie_type values ......
这里使用的数据库和数据表分别来自Sql语句学习笔记(1)——创建数据库和Sql语句学习笔记(2)——创建数据表
use RetalDB
/********************
单表查询
*********************/
--查询tb_user中的数据:无条件查询
--(1)
select * from tb_user--查询所有信息
--(2)
select top 2 * from ......
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06
Select CONVERT(varch ......