pl sql-orcal 存储过程第一次写,编译的时候报错,大侠帮帮忙,急!!

问题描述

orcal 存储过程第一次写,编译的时候报错,大侠帮帮忙,急!!
sql脚本如下:
create or replace procedure ""PageList""(tbName IN VARCHAR2tbFieldsIN VARCHAR2 orderField IN VARCHAR2orderType IN INTstrWhere IN VARCHAR2pageSize IN INTpageIndex IN INTpageRecord OUT INT)
is
BEGIN

/*定义变量*/declare m_begin_row  INT DEFAULT 0;declare m_limit_string varchar2(64);declare m_order_string varchar2(128);declare orderStr varchar2(64);declare whereStr varchar2(1000);/*构造语句*/if orderType = 1 then

orderStr:= 'asc';
else
orderStr:= 'desc';
end if;

if (strWhere<>'') thenwhereStr:= CONCAT(' where 'strWhere' ');elsewhereStr:= ' ';end if; m_begin_row:= (pageIndex - 1) * pageSize;m_limit_string:= CONCAT(' LIMIT ' m_begin_row ' ' pageSize);m_order_string:= CONCAT(' order by 'orderField' 'orderStr);@COUNT_STRING:= CONCAT('SELECT COUNT(*) INTO @ROWS_TOTAL FROM ' tbName ' ' whereStr);@MAIN_STRING:= CONCAT('SELECT ' tbFields ' FROM ' tbName '  ' whereStr '  ' m_order_string m_limit_string);/*预处理*/PREPARE count_stmt FROM @COUNT_STRING;EXECUTE count_stmt;DEALLOCATE PREPARE count_stmt;SET pageRecord = @ROWS_TOTAL;PREPARE main_stmt FROM @MAIN_STRING;EXECUTE main_stmt;DEALLOCATE PREPARE main_stmt;

END

报的错误:
错误:PLS-00103: Encountered the symbol ""IF"" when expecting one of the following:

      begin function pragma procedure subtype type <an identifier>      <a double-quoted delimited-identifier> current cursor delete      exists prior   The symbol ""begin"" was substituted for ""IF"" to continue.

行:12

错误:PLS-00103: Encountered the symbol ""COUNT_STMT"" when expecting one of the following:

      := . ( @ % ;

行:29
文本:@COUNT_STRING:= CONCAT('SELECT COUNT(*) INTO @ROWS_TOTAL FROM ' tbName ' ' whereStr);

错误:PLS-00103: Encountered the symbol ""COUNT_STMT"" when expecting one of the following:

      := . ( @ % ; immediate

行:30
文本:@MAIN_STRING:= CONCAT('SELECT ' tbFields ' FROM ' tbName ' ' whereStr ' ' m_order_string m_limit_string);

时间: 2024-09-21 15:10:53

pl sql-orcal 存储过程第一次写,编译的时候报错,大侠帮帮忙,急!!的相关文章

oracle语句-初用oracle和PL/SQL 网上找了个分页存储过程,直接拿过来怎么报错。。求解

问题描述 初用oracle和PL/SQL 网上找了个分页存储过程,直接拿过来怎么报错..求解 直接上代码` create or replace package p_page is TYPE type_cur IS REF CURSOR; --定义游标变量用于返回记录集 PROCEDURE Pagination(Pindex in number --分页索引 Psql in varchar2 --产生dataset的sql语句 Psize in number --页面大小 Pcount out n

sql sever 存储过程怎么写?

问题描述 sql sever 存储过程怎么写? 想通过把表1的字段Call-Time 在日期为当天的数据相加的和(没有数据的时候默认为0),保存到表2的Count-Call-Seconds,并在表2的Call-Date字段插入当天的日期,求大神赐教,如何写成存储过程?两个表的表结构不一样 试着写了sql语句:INSERT INTO [表1] SELECT convert(char(10),getdate(),120) as Call-Date,COALESCE(SUM(Call-Time),0)

(原创)在pl/sql developer中查看package或表结构报ora-01460的解决方法

在pl/sql developer中查看package或表结构报ora-01460的解决方法 今天有同事报有个数据库不能用pl/sql developer查看package或表结构. 开始以为是服务器端与客户端的字符集不一致所至.查看数据库的字符集为ZHS32GB18030select * from V$NLS_PARAMETERS t where t.PARAMETER LIKE '%CHARACTERSET%';PARAMETER                               

visual studio-VisualStudio编译Qt代码报错LNK2019

问题描述 VisualStudio编译Qt代码报错LNK2019 第一次用Qt. 其实只是需要QString和QDir以及QFile这几个类 我下载的是Qt5.5, 项目是用VS在写. 配置如下: 头文件路径, 库文件路径: 库文件: 报错: 求解到底哪里没配置对啊. 同样的代码我用QtCreator就能编译过.

数据库导入-sql脚本insert语句过长,导入报错

问题描述 sql脚本insert语句过长,导入报错 今天在用mysql导入sql脚本时,报错"MySQL server has gone away",经检测,是"insert...value..."里数据过多导致不能插入.后修改配置文件: 1.tmp_table_size 2.max_allowed_packet 仍旧报同样的错.来位大神解决了吧,真揪心. ps:最好是通过调整mysql配置参数,因为sql不是本人写的.

mysql java 数据库-java连接MYSQL数据库第一次可以,第二次报错

问题描述 java连接MYSQL数据库第一次可以,第二次报错 做项目在做一个用户首次登陆输入手机号码,发送随机密码的功能模块,首次点击完全没问题,系统会发送短信(中国移动的短信机的原理是连接它的数据库,插入一条数据即可)问题就出在连接数据库的问题上,再次发送,则后台报错ResultSet is from UPDATE. No Data.. 报错信息如下 严重: Exception occurred during processing request: ResultSet is from UPDA

vs2013-使用VS2013编译C++出现报错:值不能为null,参数名:SolutionDirectory

问题描述 使用VS2013编译C++出现报错:值不能为null,参数名:SolutionDirectory 使用VS2013编译C++出现报错:值不能为null,参数名:SolutionDirectory,我写的是最简单的helloworld,求解 解决方案 参考 How to use Visual Studio C++ Compiler? 在VS中,你不能够直接写一个cpp文件,然后编译.需要先创建一个项目,或在现有项目中编译. 解决方案二: 用VS工程向导建立工程,然后在自动生成的代码中添加

android开发-编译android代码报错,哇哇哇

问题描述 编译android代码报错,哇哇哇 编译报错好纠结,网上也查不到什么资料,望大神赐教! Using /home/user002/Amlogic/LocalMobile/common as source for kernel GEN /home/user002/Amlogic/LocalMobile/out/target/product/m201/obj/KERNEL_OBJ/Makefile CHK include/generated/uapi/linux/version.h CHK

mingw-Code::Blocks Windows环境下编译HelloWorld程序报错,求高手支招!

问题描述 Code::Blocks Windows环境下编译HelloWorld程序报错,求高手支招! 很简单的Hello World 程序,编译时提示: D:MinGWincludec++3.4.5bitscodecvt.h|475 这个文件中引用的 bits/codecvt_specializations.h 文件找不到 请问是哪里出了问题? ?