PL/SQL开发中动态SQL的使用方法
内容摘要:在PL/SQL开发过程中,使用SQL,PL/SQL可以实现大部份的需求,但是在某些特殊的情况下,在PL/SQL中使用标准的SQL语句或DML语句不能实现自己的需求,比如需要动态建表或某个不确定的操作需要动态执行。这就需要使用动态SQL来实现。本文通过几个实例来详细的讲解动态SQL的使用。 本文适宜读者范围:Oracle初级,中级 系统环境: OS:windows 2000 Professional Oracle:8.1.6[@more@]一般的PL/SQL程序设计中,在DML和事务控制的语句中可以直接使用SQL,但是DDL语句及系统控制语句却不能在PL/SQL中直接使用,要
动态sql的应用:在from后面使用变量
介绍如何使用动态sql,比如:表名为变量等.[@more@]CREATE OR REPLACE FUNCTION GET_TABLE_COUNT( I_TabNa IN VARCHAR2 ,I_Owner IN VARCHAR2 DEFAULT NULL ) RETURN NUMBER IS V_RtnVal NUMBER ; V_CursorId INTEGER ; V_SqlStr VARCHAR2(300) ; BEGIN V_CursorId := DBMS_SQL.OPEN_CURSOR ; IF LENGTHB( RTRIM( LTRIM( NVL( I_Owner , '' ) ) ) ) = 0 THEN V_SqlStr := 'SELECT COUNT(*) FROM ' || I_TabNa ; ELSE V_SqlStr := 'SELECT COUNT(*) FROM ' || I_Owner|| '.' || I_TabNa ; END IF ; DBMS_SQL.PAR
图片插入数据库
测试[@more@]Microsoft Windows 2000 [Version 5.00.2195](C) 版权所有 1985-2000 Microsoft Corp.C:Documents and Settingschanet>cdC:>sqlplus /nologSQL*Plus: Release 9.2.0.1.0 - Production on 星期三 6月 7 14:46:21 2005Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.SQL> connect nzjtest/nzjtest@oradb;已连接。SQL> CREATE TABLE IMAGE_LOB (T_ID VARCHAR2 (5) NOT NULL,T_IMAGE BLOB NOT NULL);表已创建。SQL> CREATE OR REPLACE DIRECTORY IMAGES AS 'C:Oracle'; --图片目录目录已创建