云服务器内容精选

  • MERGE MERGE是一种ANSI标准的SQL语法运算符,用于从一个或多个源中选择行来更新或插入表或视图。用户可指定更新或插入目标表或视图的条件。 DSC使用多种方法将MERGE迁移到 GaussDB (DWS)兼容的SQL中。 配置参数mergeImplementation: 默认设置为WITH。设为此值时,目标查询将转换成公用表表达式。 图11 输入:MERGE(1) 图12 输出:MERGE(2) 也可设置为SPLIT。设为此值时,MERGE语句将被分解为多个INSERT和UPDATE语句。 图13 输入:MERGE(3) 图14 输出:MERGE(4)
  • VARRAY REF CURSOR定义为返回参数。 设置plSQLCollection=varray后进行迁移。 输入: VARRAY 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 CREATE OR REPLACE TYPE TYPE_RMTS_ARRAYTYPE IS TABLE OF VARCHAR2 (30000); CREATE OR REPLACE PACKAGE BODY SCMS_STRING_UTILS As FUNCTION END_WITH (SR CS TRING VARCHAR2, --Source character string ENDCHAR VARCHAR2, --End character string IGNORECASE BOOLEAN --Ignore Case ) RETURN BOOLEAN IS SRCLEN NUMBER (20) := LENGTH(SRCSTRING); ENDLEN NUMBER (20) := LENGTH(ENDCHAR); V_TOKEN_ARRAY TYPE_RMTS_ARRAYTYPE := TYPE_RMTS_ARRAYTYPE (); V_TOKEN_ARRAY1 TYPE_RMTS_ARRAYTYPE := TYPE_RMTS_ARRAYTYPE (); I NUMBER (20) := 1; TMP_CHAR VARCHAR(1); TMP_CHAR1 VARCHAR(1); BEGIN ... END; END; / 输出 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 CREATE OR REPLACE FUNCTION SCMS_STRING_UTILS.END_WITH (SRCSTRING VARCHAR2 /* source character string */ , ENDCHAR VARCHAR2 /* End character string */ , IGNORECASE BOOLEAN /* Ignore case */ ) RETURN BOOLEAN IS SRCLEN NUMBER (20) := LENGTH(SRCSTRING); ENDLEN NUMBER (20) := LENGTH(ENDCHAR); TYPE TYPE_RMTS_ARRAYTYPE IS VARRAY (1024) OF VARCHAR2 (30000); V_TOKEN_ARRAY TYPE_RMTS_ARRAYTYPE /*:= TYPE_RMTS_ARRAYTYPE()*/ ; V_TOKEN_ARRAY1 TYPE_RMTS_ARRAYTYPE /*:= TYPE_RMTS_ARRAYTYPE()*/ ; I NUMBER (20) := 1; TMP_CHAR VARCHAR(1); TMP_CHAR1 VARCHAR(1); BEGIN END; 父主题: Oracle语法迁移