pl/sql-存储过程问题,想创建表,但是表名问题影响到出错。

问题描述

存储过程问题,想创建表,但是表名问题影响到出错。
 create or replace procedure PRC_GZF_BZ_YWSLID(ywslid  in verchar2) as       L_YWSLID verchar2(30);       tpg_gzfspbnum verchar2(30);begin         L_YWSLID:=ywslid;        tpg_gzfspbnum:='tpg_gzfspb'||L_SLIDID;execute immediate'        create table tpg_gzfspbnum as select * fromGZF_ZFBZ.tpg_gzfspb@gzf_zfbz where ywslid = L_YWSLID;'end PRC_GZF_BZ_YWSLID;

上面的SQL,如果创建表名的时候不用execute immediate' ‘又报错,提示说begin和end之间必须要有东西。。。而且这样会读取不到上面的赋值.

求解怎么解决赋值表名

解决方案

    execute immediate'            create table '||tpg_gzfspbnum||' as select * from    GZF_ZFBZ.tpg_gzfspb@gzf_zfbz where ywslid = '''||L_YWSLID||''';'
时间: 2024-12-11 15:15:23

pl/sql-存储过程问题,想创建表,但是表名问题影响到出错。的相关文章

PL/SQL --> 包的创建与管理

--============================ -- PL/SQL --> 包的创建与管理 --============================       包,是一个逻辑集合,是由PL/SQL类型以及PL/SQL子程序的集合.PL/SQL类型包括table类型,record类型.PL/SQL项则包括游标,游标 变量.PL/SQL子程序包括过程,函数等.可以说包可谓是包罗万象.是所有PL/SQL相关资源的汇总.     包的使用可以简化应用程序设计,实现信息掩藏,子程序重载

SQL Server2005中用语句创建数据库和表

在SQL Server2005中用语句创建数据库和表: 具体示例如下: use master go if exists (select * from sysdatabases where name='Study') --判断Study数据库是否存在,如果是就进行删除 drop database Study go EXEC sp_configure 'show advanced options', 1 GO -- 更新当前高级选项的配置信息 RECONFIGURE GO EXEC sp_confi

[20130607]PL/SQL存储过程的commit提交问题.txt

[20130607]PL/SQL存储过程的commit提交问题.txt 昨天在看别人写的存储过程的时候,发现程序代码里面不好的写法,就是把commit写在循环体内,这样写按照以前应该会产生很大的redo日志,主要是redo waste也会增加,但是我在11G下测试,情况好像不一样. 1.建立测试环境: SQL> @ver BANNER --------------------------------------------------------------------------------

数据库-我想创建一张表 用户更新的情况自动记录进去

问题描述 我想创建一张表 用户更新的情况自动记录进去 就是网页上有最近更新 栏 哪里面就是某用户更新了自己的信息后所显示的 解决方案 网页时你自己的网站的话,用触发器,插入数据就更新这个表. google 插入触发器 如果是别人的网站,只能写一个程序定时轮询,然后再插入新的数据. 解决方案二: 网页上有更新,你ajax提交数据给后台服务器,然后写入数据库就可以了 解决方案三: 参考:http://www.cnblogs.com/hoojo/archive/2011/07/20/2111316.h

pl sql存储过程-为后台执行加载数据 可以加载到临时表 却不能加载到表区间(调用存储过程)

问题描述 为后台执行加载数据 可以加载到临时表 却不能加载到表区间(调用存储过程) CREATE OR REPLACE PROCEDURE PRC_DET_01026_DAY( IN_DAY IN NUMBER --统计日期yyyymmdd ON_RtnCode OUT NUMBER --返回值,正确为0,错误为ORACLE的错误代码 ON_RtnMsg OUT VARCHAR2 --返回信息,正确为'NO ERROR'否则为ORACLE的出错信息 ) AS -----程序固定变量,不要修改--

使用PL/SQL developer 查看创建一张表的SQL语句

我们在使用PL/SQL developer中想创建一张表的SQL语句,该如何查看呢? 其实很简单的,我们只需要找到该表,然后右键–"DBMS_元数据"-"DDL",如下图:

PL/SQL --> 存储过程

--===================== -- PL/SQL --> 存储过程 --=====================        存储过程子程序的一种类型,能够完成一些任务,作为schema对象存储于数据库.是一个有名字的PL/SQL代码块,支持接收或不接受参数 ,同时也支持参数输出.一个存储过程通常包含定于部分,执行部分,Exception部分,可以被其他子程序调用,也可以被重用.   一.过程定义      CREATE [OR REPLACE]PROCEDURE proc

《Oracle PL/SQL程序设计(第5版)》一一2.4 执行必要的PL/SQL任务

2.4 执行必要的PL/SQL任务 Oracle PL/SQL程序设计(第5版)让我们把焦点转移到当把SQL*Plus作为前端工具时,该如何创建.运行.删除以及其他的PL/SQL程序管理任务.不要期待这部分能够覆盖所有细节,后面的章节会更加深入细致地介绍这些主题,这里只是快速过一遍. 2.4.1 创建存储过程 要想创建一全新的PL/SQL存储程序,你需要使用SQL中的一个CREATE语句.比如,如果你想创建一个存储函数,这个函数能够对一个字符串中的单词个数计数,你就可以使用CREATE FUNC

PL/SQL --> DML 触发器

--======================= -- PL/SQL --> DML 触发器 --=======================         何谓触发器?简言之,是一段命名的PL/SQL代码块,只不过该代码块在特定的条件下被触发并且执行.对于这样的代码我们称之为触发器 .触发器根据触发类型的不同又分为不同级别的触发器,下面将给出触发器的分类,定义,以及使用的示例.   一.触发器的相关概念     1.触发器的分类         通常根据触发条件以及触发级别的不同分为DM