PL/SQL 002---PL/SQL的基本能概念--2.1功能特点--2.1.2与SQL语言的整合

2.1.2与SQL语言整合

PL/SQL中不仅可以执行SQL语句,还支持很多增强性的特性,比如在SQL语句中使用变量、使用PL/SQL定义函数等。在PL/SQL语句块中可以使用SQL语句操作数据库,PL/SQL支持所有的SQL数据操作、游标和事务处理指令,支持所有的SQL函数、操作符和伪列,完全支持SQL数据类型。

注意的地方 : 在PL/SQL代码中只能直接使用DML语句,如果在PL/SQL代码中直接使用SQL的DDL语句,Oracle将会提示绑定错误,例如在PL/SQL中执行一个创建表的语法,如以下代码所示。


begin
 create table teacher(
      name varchar2(20) null,
      age number null
  ) ;
end;

在plsql developer中执行时会提示错误。
在这里插入图片描述

这是由于PL/SQL在早期绑定特性做决定的,在编译时PL/SQL引擎发现teacher表不存在,就会引起编译的错误。在PL/SQL中,处理DDL语句的方式是使用动态的SQL,如果将上面的代码修改为如下的代码时,则执行通过。

declare
--定义SQLDDL语句
v_sqlStr varchar2(200) :='create table teacher(
      name varchar2(20) null,
      age number null
  ) ';
begin
  execute immediate v_sqlStr;
end;

在代码中首先定义了一个v_sqlStr变量,赋予了创建表的DDL语句,然后使用了PL/SQL的EXECUTE IMMEDIATE 来执行这个DDL语句,使用了动态执行后,表创建成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值