我有这个UDF代码,上面有create function...
但我不知道把它放在 iseries 导航器屏幕的什么位置。 谁能帮我?谷歌没有帮助
展开"数据库"分支以显示系统上的所有数据库。
然后要么
- 右键单击数据库并选择运行 SQL 脚本
或
- 展开数据库以显示架构
- 右键单击所选架构,然后选择新建-->函数-->SQL
第一个可能是你最好的选择,因为你似乎有完整的来源。
在
STRSQL 窗口中将其作为一个整体输入,例如(下面的 INSTRB UDF)
CREATE FUNCTION INSTRB (C1 VarChar(4000), C2 VarChar(4000), N integer, M integer)
RETURNS Integer
SPECIFIC INSTRBOracleBase
LANGUAGE SQL
CONTAINS SQL
NO EXTERNAL ACTION
DETERMINISTIC
BEGIN ATOMIC
DECLARE Pos, R, C2L Integer;
SET C2L = LENGTH(C2);
IF N > 0 THEN
SET (Pos, R) = (N, 0);
WHILE R < M AND Pos > 0 DO
SET Pos = LOCATE(C2,C1,Pos);
IF Pos > 0 THEN
SET (Pos, R) = (Pos + 1, R + 1);
END IF;
END WHILE;
RETURN (Pos - 1)*(1-SIGN(M-R));
ELSE
SET (Pos, R) = (LENGTH(C1)+N, 0);
WHILE R < M AND Pos > 0 DO
IF SUBSTR(C1,Pos,C2L) = C2 THEN
SET R = R + 1;
END IF;
SET Pos = Pos - 1;
END WHILE;
RETURN (Pos + 1)*(1-SIGN(M-R));
END IF;
END!
它应该输出Function INSTRB was created in QGPL.
它是可重复使用的