我在TOAD里新创建了一个function,怎么提交到服务器里啊?
另求TOAD使用教程
谢谢!
另求TOAD使用教程
谢谢!
解决方案 »
- 请高手指点一下我这个java的初哥,关于java调用oracle储存过程的问题?
- 在做从Access到Oracle的转换问一个关于日期函数的问题。
- ORA-00932 精确到毫秒级的时间差怎样实现(急等)
- oracle插入问题
- 高手帮忙看看SQL中得时间转换问题,谢谢了
- 一个ORACLE不同版本的命令的问题
- 如何取某datetime型字段值中,时间差超过30分钟的记录
- toad8.5中如何设置代码的智能填充?????
- 写了个存储过程,老是编译通不过procedure
- oracle中有没有临时表?(在线等待)
- 游标记录数量太大,时间太长,造成ORA-01555错误,怎么解决?
- 如何在oracle90中查出数据量在1000以上的所有表id
CREATE SEQUENCE seq_2;
CREATE OR REPLACE FUNCTION GET_STR RETURN VARCHAR2 IS
C_R VARCHAR2(9);
I NUMBER;
BEGIN
SELECT SEQ_2.NEXTVAL INTO I FROM DUAL;
IF (MOD(I, 1000) = 0) THEN
SELECT SEQ_2.NEXTVAL INTO I FROM DUAL;
END IF;
C_R := 'D00' || LPAD(I, 6, '0');
RETURN(C_R);
END GET_STR;
/SELECT GET_STR() FROM dual;
CREATE OR REPLACE FUNCTION GET_XXX_FLAG
RETURN varchar2
IS
maxflag varchar2(100);
BEGIN SELECT TO_CHAR(max(MODIFIEDTIME),'yyyymmddhh24miss')
INTO maxflag
FROM XXX; RETURN NVL (maxflag,'20000101');
EXCEPTION
WHEN OTHERS
THEN
RETURN '20000101';END;
Result varchar2(300);
ls_name varchar2(300); LS_TECH_NO varchar2(10);
li_count number(10);
LI_CS NUMBER(3);
CURSOR myCur1 IS
SELECT T3005.P_CODE,T3017.C_NAME,T3005.Ts_Flag,T3005.RANK_NO,
T3001.AC_TYPE,T3001.RANDOM
FROM T3001,T3005, T3017
WHERE T3001.FLIGHT_DATE = T3005.FLIGHT_DATE
and T3001.CREW_LINK_LINE = T3005.CREW_LINK_LINE
and T3017.P_CODE = T3005.P_CODE
and T3005.FLIGHT_DATE = p_flight_date
and T3005.CREW_LINK_LINE = p_crew_link_line
and P_MODULE_FLAG like 'F%'
ORDER BY DECODE(decode(T3005.RANK_NO, 'FP', 'A', T3005.Module_Flag), 'F', 1, 'C', 2, 3) ASC,
NVL(T3005.SERIAL_NO,99) ASC ,
T3005.rank_no ASC ;
BEGIN
Result := '';
ls_name := '';
LI_CS := 0;
FOR lp1 IN myCur1 LOOP BEGIN
SELECT T3009.tech_no_Z
INTO LS_TECH_NO
FROM T3009
WHERE T3009.p_code = lp1.P_CODE
AND T3009.ac_type = lp1.AC_TYPE
AND T3009.tech_no_Z IS NOT NULL;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
LS_TECH_NO := '' ;
END ;
--sj
li_count := 0;
BEGIN
SELECT count(*)
INTO li_count
FROM "T3005","T3009"
WHERE ( "T3005"."P_CODE" = "T3009"."P_CODE" )
AND ( "T3005"."FLIGHT_DATE" = p_flight_date )
AND ( "T3005"."CREW_LINK_LINE" = p_crew_link_line )
AND ( "T3009"."AC_TYPE" = lp1.AC_TYPE )
AND ( ("T3009"."TECH_NO_Z" = 'Z001') OR
("T3009"."TECH_NO_Z" = 'Z002') OR
("T3009"."TECH_NO_Z" = 'Z003') ) ;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
li_count := 0 ;
END ;
IF lp1.Ts_Flag = 'A' THEN
ls_name := lp1.C_NAME||'(监)'; --监视督察员
ELSIF lp1.Ts_Flag = 'C' THEN
ls_name := lp1.C_NAME||'(检)'; --检察员
ELSIF lp1.Ts_Flag = 'c' THEN
ls_name := lp1.C_NAME||'(受检)'; --受检
ELSIF lp1.Ts_Flag = 'T' THEN
ls_name := lp1.C_NAME||'(教)'; --教员
ELSIF lp1.Ts_Flag = 't' THEN
ls_name := lp1.C_NAME||'(学)'; --学员
ELSIF lp1.Ts_Flag = 'R' THEN
ls_name := lp1.C_NAME||'(报)'; --报务员
ELSIF lp1.Ts_Flag = 'B' THEN
ls_name := lp1.C_NAME||'(专报教)'; --专报教
ELSIF lp1.Ts_Flag = 'b' THEN
ls_name := lp1.C_NAME||'(兼报教)'; --兼报教
ELSIF lp1.Ts_Flag = 'S' THEN
ls_name := lp1.C_NAME||'(专报检)'; --专报检
ELSIF lp1.Ts_Flag = 's' THEN
ls_name := lp1.C_NAME||'(兼报检)'; --兼报检
ELSIF lp1.RANK_NO = 'A001' THEN
ls_name := lp1.C_NAME||'*'; --责任机长
ELSIF lp1.RANK_NO = 'B001' THEN
ls_name := lp1.C_NAME||''; --第二机长
ELSIF lp1.RANK_NO = 'MPS' THEN
ls_name := lp1.C_NAME||'*'; --乘务长
ELSIF lp1.RANK_NO = 'PS' THEN
ls_name := lp1.C_NAME||''; --2号位
ELSIF lp1.RANK_NO = 'ST' THEN
ls_name := lp1.C_NAME||'H'; --乘务员
ELSIF lp1.RANK_NO = 'SA' THEN
ls_name := lp1.C_NAME||'I'; --安全学员
ELSIF lp1.RANK_NO = 'SP' THEN
ls_name := lp1.C_NAME||'J';--兼职安全员
ELSIF ls_tech_no = 'Z014' THEN
ls_name := lp1.C_NAME||'N';--新机长
ELSIF ls_tech_no = 'Z030' THEN
ls_name := lp1.C_NAME||'A';--一级副驾驶
ELSIF ls_tech_no = 'Z029' THEN
ls_name := lp1.C_NAME||'B';--二级副驾驶
ELSIF ls_tech_no = 'Z026' THEN
ls_name := lp1.C_NAME||'C';--三级副驾驶
ELSIF ls_tech_no = 'Z022' AND li_count > 0 THEN
ls_name := lp1.C_NAME||'D';--六级副驾驶
ELSIF ls_tech_no = 'SC' THEN
ls_name := lp1.C_NAME||'H';--乘务学员
ELSIF ls_tech_no = 'SA' THEN
ls_name := lp1.C_NAME||'I';--安全学员
ELSE
ls_name := lp1.C_NAME;
END IF;
--机长换行
IF (NOT (lp1.RANK_NO = 'A001' or lp1.RANK_NO = 'B001')) AND P_MODULE_FLAG = 'F' THEN
IF LI_CS <= 0 THEN
ls_name := CHR(13)||CHR(10)||lp1.C_NAME||' ';
END IF;
LI_CS := LI_CS + 1;
END IF;
IF Result is null THEN
Result := ls_name ;
ELSE
Result := Result||' '||ls_name ;
END IF;
END LOOP; return(Result);
END ;
/帮我看看咯!