/*
说明:设置两个入参,一个是表的名字,一个是该表中state列的值(字符串型)
目的:想取得这个表中符合输入的state相匹配的记录的fee的总合,然后在进行别的操作
*/
CREATE OR REPLACE PROCEDURE OFFER_4011621_1(TABLE_NAME IN VARCHAR,
VAR2 IN VARCHAR) IS
TOTAL_FEE NUMBER(12) := 0;
V_SQL VARCHAR2(4000) := '';
BEGIN
---设置动态sql
V_SQL := 'SELECT sum(fee) into TOTAL_fee' || ' FROM ' || TABLE_NAME ||
' where state = '' ' || VAR2 || ' '' ';
---把动态SQL输出,发现输出的语句没有问题,调试用的
DBMS_OUTPUT.PUT_LINE(V_SQL);
---执行sql
EXECUTE IMMEDIATE V_SQL;
---把计算的total_fee显示出来
DBMS_OUTPUT.PUT_LINE(TOTAL_FEE);
---进行其它操作,现在程序出错,就是在command line中输入时,抱错了
END OFFER_4011621_1;
说明:设置两个入参,一个是表的名字,一个是该表中state列的值(字符串型)
目的:想取得这个表中符合输入的state相匹配的记录的fee的总合,然后在进行别的操作
*/
CREATE OR REPLACE PROCEDURE OFFER_4011621_1(TABLE_NAME IN VARCHAR,
VAR2 IN VARCHAR) IS
TOTAL_FEE NUMBER(12) := 0;
V_SQL VARCHAR2(4000) := '';
BEGIN
---设置动态sql
V_SQL := 'SELECT sum(fee) into TOTAL_fee' || ' FROM ' || TABLE_NAME ||
' where state = '' ' || VAR2 || ' '' ';
---把动态SQL输出,发现输出的语句没有问题,调试用的
DBMS_OUTPUT.PUT_LINE(V_SQL);
---执行sql
EXECUTE IMMEDIATE V_SQL;
---把计算的total_fee显示出来
DBMS_OUTPUT.PUT_LINE(TOTAL_FEE);
---进行其它操作,现在程序出错,就是在command line中输入时,抱错了
END OFFER_4011621_1;
解决方案 »
- 修改用户名之后为何原用户仍可以登录?
- oracle 监听挂死,内存无法分配
- 怎么知道一个表的各个分区在磁盘上到底占用多大空间呢?
- 同一个用户下的多个表空间如何合并
- oracle 判断日期的问题
- 请问,求SQL文:oracle中如何实现分支的比较大小?
- 使用PL\SOL Developer时登陆不进去,出现“找不到指定模块”oci.dll的错误。
- EXISTS和NOT EXISTS 的问题 (明白了就结贴)
- $ORACLE_HOME/bin/sqlldr是什么意思?
- 求Oracle EPM产品虚拟机或11.1.2.3版本完整安装包
- 征求oracle安装、管理、维护的要点
- 怎样提高删除的效率,请各位高手看看?
该怎么更改,解决这个错误,谢谢!