易截截图软件、单文件、免安装、纯绿色、仅160KB

PL/SQL开发中动态SQL的使用方法

内容摘要:在PL/SQL开发过程中,使用SQL,PL/SQL可以实现大部份的需求,但是在某些特殊的情况下,在PL/SQL中使用标准的SQL语句或DML语句不能实现自己的需求,比如需要动态建表或某个不确定的操作需要动态执行。这就需要使用动态SQL来实现。本文通过几个实例来详细的讲解动态SQL的使用。  
  本文适宜读者范围:Oracle初级,中级
  系统环境:
   OS:windows 2000 Professional (英文版)
   Oracle:8.1.7.1.0
  正文:
  一般的PL/SQL程序设计中,在DML和事务控制的语句中可以直接使用SQL,但是DDL语句及系统控制语句却不能在PL/SQL中直接使用,要想实现在PL/SQL中使用DDL语句及系统控制语句,可以通过使用动态SQL来实现。
  首先我们应该了解什么是动态SQL,在Oracle数据库开发PL/SQL块中我们使用的SQL分为:静态SQL语句和动态SQL语句。所谓静态SQL指在PL/SQL块中使用的SQL语句在编译时是明确的,执行的是确定对象。而动态SQL是指在PL/SQL块编译时SQL语句是不确定的,如根据用户输入的参数的不同而执行不同的操作。编译程序对动态语句部分不进行处理,只是在程序运行时动态地创建语句、对语句进行语法分析并执行该语句。
  Oracle中动态SQL可以通过本地动态SQL来执行,也可以通过DBMS_SQL包来执行。下面就这两种情况分别进行说明:
  一、本地动态SQL
  本地动态SQL是使用EXECUTE IMMEDIATE语句来实现的。
  1、本地动态SQL执行DDL语句:
  需求:根据用户输入的表名及字段名等参数动态建表。
create or replace procedure proc_test
(
table_name in varchar2, --表名
field1 in varchar2, --字段名
datatype1 in varchar2, --字段类型
field2 in varchar2, --字段名
datatype2 in varchar2 --字段类型
) as 
str_sql varchar2(500);
begin 
str_sql:=’create table ’||table_name||’(’||field1||’ ’||datatype1||’,’||field2||’ ’||datatype2||’)’;
execute immediate str_sql; --动态执行DDL语句
exception 
when others then 
null;
end ;
  以上是编译通过的存储过程代码。下面执行存储过程动态建表。
SQL> execute proc_test(’dinya_te


相关文档:

航空公司管理系统(VC++ 与SQL 2005)

系统环境:Windows 7
软件环境:Visual C++ 2008 SP1 +SQL Server 2005
本次目的:编写一个航空管理系统
      这是数据库课程设计的成果,虽然成绩不佳,但是作为我用VC++ 以来编写的最大程序还是传到网上,以供参考。用VC++ 做数据库设计并不容易,但也不是不可能。以下是我的程序界面,后面 ......

SQl游标

declare @CausName as char(20) declare @causenameid as int declare
@Description as varchar(200) declare @Caus_Id as int
declare @sign as char(20)
create table #tb ( Caus_Id int,CausName varchar(20),causNameid int,Caus_Description varchar(200),标志 varchar(20))
 
DECLARE myCursor1 CURSOR F ......

Linq查询 DataSet 能否和SQL 级联?

        最近做项目的时候,遇到了一个问题。我主要是做一个Web Services给别人用的。别人传一个用户ID号过来,然后我将这个用户的所有好友的下载记录包装成一个DataSet返回去。 而根据用户ID号获取该用户的所有好友信息,则是通过另一个Web Services得到的,这里为FriendDS。
  ......

SQL Server 2005——远程连接配置

最近做项目,需要远程访问数据库,自己在查了些资料,总结了一下,希望对大家有帮助:
作者:shinehoo
一、配置SQL Server 2005
1)安装SQL Server 2005开发版;
2)开始->程序->Microsoft SQL Server 2005->SQL
Server 2005外围应用配置器,在打开的界面单击“服务的连接的外围应用配置器”,在打 ......

SQL Server 2005中写文件的方法

--创建写文件的存储过程
ALTER proc [dbo].[p_movefile]
 @filename varchar(1000),--要操作的文本文件名  
 @text varchar(8000),   --要写入的内容
 @obj int
as  
begin
 declare @err  int,
   @src  varchar(255),
 &n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号