CREATE OR REPLACE FUNCTION UPDATE_GSP_JXQ_WJ(
V_SPBH GSP_JXQ_WJ.SPBH%TYPE,
V_PH GSP_JXQ_WJ.PH%TYPE,
V_CLYJ GSP_JXQ_WJ.CLYJ%TYPE DEFAULT'继续销售',--处理意见
V_RY_YHY GSP_JXQ_WJ.RY_YHY%TYPE,--养护员
V_BZ GSP_JXQ_WJ.BZ%TYPE DEFAULT'--',
V_ZLZK GSP_JXQ_WJ.ZLZK%TYPE DEFAULT'合格'--质量状况
)
RETURN BOOLEAN IS
V_COUNT NUMBER;
V_IS_UPDATE BOOLEAN;
BEGIN
SELECT COUNT(*)INTO V_COUNT FROM GSP_JXQ_WJ WHERE SPBH = V_SPBH;
IF V_COUNT<1 THEN
V_IS_UPDATE :=FALSE;
INSERT INTO GSP_JXQ_WJ VALUES(sysdate,V_SPBH,V_CLYJ,V_RY_YHY,V_BZ,V_ZLZK,V_PH);
ELSE
V_IS_UPDATE :=TRUE;
UPDATE GSP_JXQ_WJ
SET RQ = SYSDATE,
SPBH = V_SPBH,
CLYJ = V_CLYJ,
RY_YHY = V_RY_YHY,
BZ = V_BZ,
ZLZK = V_ZLZK,
PH = V_PH
WHERE GSP_JXQ_WJ.SPBH = V_SPBH;
END IF;
RETURN V_IS_UPDATE;
END UPDATE_GSP_JXQ_WJ;pb调用 上边的oracle函数,一直无法执行,求解,本人在线等,谢谢!(刚接触pb+oracle)
DECLARE my_proc PROCEDURE For
UPDATE_GSP_JXQ_WJ(V_SPBH,V_PH,V_CLYJ,V_RY_YHY,V_BZ,V_ZLZK);
EXECUTE my_proc;
解决方案 »
- 用第一条记录减去最后一条记录,除以日期,用select,不用存储过程怎么做?
- oracle数据乱码问题````求解答```
- 即时客户端instantclient-basiclite-win32和instantclient-basic-win32的问题
- 关于start with...connect by prior union排序问题
- oracle 为什么in子句使用函数得到的字符串就查不到数据
- 数据库基础知识,求助
- ADO访问ORACLE数据库的运行环境
- 怎么在Oracle的SQL*PLUS工具下在一个表中插入blob大对象类型的数据
- 求一句sql文优化问题!
- 100分求问一条sql的写法
- 求sql一段时间按周结算
- 建表 求助!
你调的那个东西叫procedure调函数就把它当系统函数一样调就好,写在sql语句里调对数据库的操作,写在过程里,不要写函数,要是我拿这个函数查询一个一亿行的表,你就做一亿次操作,你的业务逻辑是这样的吗?
2: 单步调试看看
UPDATE_GSP_JXQ_WJ(V_SPBH,V_PH,V_CLYJ,V_RY_YHY,V_BZ,V_ZLZK);
EXECUTE my_proc;UPDATE_GSP_JXQ_WJ 应该是个存储过程 而不应该是个函数
就如同
begin
a := 5 ;
end;
这是个合理的语法
begin
5;
end;
这个就肯定不对一样