如何在 AS400 中创建 UDF



我有这个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.

它是可重复使用的

相关内容

  • 没有找到相关文章

最新更新