oracle报错ORA-06550: line 1, column 7: PLS-00306: wrong number or types of arguments in call to 'PR
(date_cutoff date,
month bb_promolist.month%TYPE,
year bb_promolist.year%TYPE,
shopperid OUT bb_basket.idshopper%TYPE,
promo bb_promolist.promo_FLAG%TYPE,
use bb_promolist.used%TYPE := 'N')
IS
BEGIN
SELECT idshopper INTO shopperid
FROM bb_basket
where dtcreated = date_cutoff;
INSERT INTO bb_promolist(idshopper, month, year,promo_flag,used)
VALUES(shopperid, month, year, 1,'Y');
END;
调用exec promo_ship_sp('15-feb-07','apr',2007, shopperid=>:id)
报错BEGIN promo_ship_sp('15-feb-07','apr',2007, shopperid=>:id); END;
*
ERROR at line 1:
ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'PROMO_SHIP_SP'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
救救急~~~麻烦各位了~~~我调了一早上也没弄明白为啥~
对了,还有哦,为什么select into的那个变量一定要是out类型,不然就报错~~~ 展开
可以用Oracle DBA神器,PRM-DUL灾难恢复工具,Schema级别数据恢复。PRM-DULFor Oracle Database , schema级别oracle数据库数据恢复特性 ,PRM,DUL即ParnassusData Recovery Manager是企业级别Oracle数据库灾难恢复工具。PRM可以在无备份的情况下恢复被truncated掉的表,也可以恢复无法打开的Oracle数据库Alter Database Open失败中的数据。
ORA-01650:unable to extend rollback segment NAME by NUM intablespace NAME错误的产生原因,上述ORACLE错误为回滚段表空间不足引起的,这ORACLE数据管理员最常见的ORACLE错误信息,当用户在做一个非常庞大的数据操作导致现有回滚段的不足,使可分配用的回滚段表空间已满,无法再进行分配,就会出现上述的错误。
解决方法:使用“ALTER TABLESPACE tablespace_name ADD DATAFILE filename SIZE size_of_file”命令向指定的数据增加表空间,根据具体的情况可以增加一个或多个表空间。
当然这与还与你主机上的裸盘设备有关,如果你主机的裸盘设备已经没有多余的使用空间,建议你不要轻意的增加回滚段表空间的大小,可使用下列的语句先查询一下剩余的tablespace空间有多少,Select user_name,sql_text from V$open_cursorwhere user_name=‘’,如果多余的空间比较多,就可以适当追加一个大的回滚段给表空间使用,从而避免上述的错误。
你也可以用以下语句来检测一下rollback segment的竞争状况,如果任何一个classcount/sumvalue大于1%,就应该考虑增加rollback segment.ORA-01652。
unable to extend temp segment by num in tablespace name错误产生的具体原因ORACLE临时段表空间不足,因为ORACLE总是尽量分配连续空间,一但没有足够的可分配空间或者分配不连续就会出现上述的现象。
解决方法:我们知道由于ORACLE将表空间作为逻辑结构-单元,而表空间的物理结构是数据文件,数据文件在磁盘上物理地创建,表空间的所有对象也存在于磁盘上,为了给表空间增加空间,就必须增加数据文件。