注册

SQL语句执行失败

小丑鱼 2023/03/03 1143 6 已解决

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:WIN11
【CPU】:7代英特尔
【问题描述】*:EF生成的SQL在DM中执行失败:

--创建表
CREATE TABLE "t_test"
(
"Id" BIGINT IDENTITY(1, 1) NOT NULL,
"IsSuccess" BIT,
"LogMsg" VARCHAR(8000),
"OpHost" VARCHAR(100),
"Browser" VARCHAR(255),
"OS" VARCHAR(255),
"LOCATION" VARCHAR(500),
"Url" VARCHAR(500),
"ClassName" VARCHAR(255),
"MethodName" VARCHAR(255),
"ReqMethod" VARCHAR(100),
"Param" VARCHAR(8000),
"RESULT" TEXT,
"ElapsedTime" INT,
"OpCode" VARCHAR(50),
"OpName" VARCHAR(255),
"LogDate" DATETIME(6) DEFAULT getdate(),
NOT CLUSTER PRIMARY KEY("Id")) ;

--执行该语句
DECLARE  TYPE rrr0 IS RECORD ("Browser" NVARCHAR2(8188), "ClassName" NVARCHAR2(8188), "ElapsedTime" BIGINT, "IsSuccess" BIT, "Location" NVARCHAR2(8188), "LogMsg" NVARCHAR2(8188), "MethodName" NVARCHAR2(8188), "OpCode" NVARCHAR2(8188), "OpHost" NVARCHAR2(8188), "OpName" NVARCHAR2(8188), "Os" NVARCHAR2(8188), "Param" NVARCHAR2(8188), "ReqMethod" NVARCHAR2(8188), "Result" NVARCHAR2(8188), "Url" NVARCHAR2(8188), "_Position" int);
      TYPE ccc0 IS ARRAY rrr0[];
      c0 ccc0;
      "V_Id" INT;
	  BEGIN
        c0 = NEW rrr0[1];
        c0[1]."Browser" = 'aaaa' ;
		c0[1]."ClassName" = 'aaaa' ;
		c0[1]."ElapsedTime" = 'aaaa' ;
		c0[1]."IsSuccess" = 'aaaa' ;
		c0[1]."Location" = 'aaaa' ;
		c0[1]."LogMsg" = null ;
		c0[1]."MethodName" = 'aaaa' ;
		c0[1]."OpCode" = 'aaaa' ;
		c0[1]."OpHost" = 'aaaa' ;
		c0[1]."OpName" = 'aaaa' ;
		c0[1]."Os" = 'aaaa' ;
		c0[1]."Param" = 'aaaa' ;
		c0[1]."ReqMethod" = 'aaaa' ;
		c0[1]."Result" = 'aaaa' ;
		c0[1]."Url" = 'aaaa' ;
		c0[1]."_Position" = 0;
      SELECT MAX("Id") INTO "V_Id" FROM UNIDRGSWEB."t_test";
      INSERT INTO UNIDRGSWEB."t_test" ("Browser", "ClassName", "ElapsedTime", "IsSuccess", "Location", "LogMsg", "MethodName", "OpCode", "OpHost", "OpName", "Os", "Param", "ReqMethod", "Result", "Url")SELECT "Browser", "ClassName", "ElapsedTime", "IsSuccess", "Location", "LogMsg", "MethodName", "OpCode", "OpHost", "OpName", "Os", "Param", "ReqMethod", "Result", "Url" FROM ARRAY C0;
      SELECT "t"."Id" FROM "t_test" "t"
       WHERE EXISTS(SELECT * FROM ARRAY c0 "i" WHERE (TEXT_EQUAL("t"."Browser", "i"."Browser") OR ("t"."Browser" IS NULL AND "i"."Browser" IS NULL ))  AND (TEXT_EQUAL("t"."ClassName", "i"."ClassName") OR ("t"."ClassName" IS NULL AND "i"."ClassName" IS NULL ))  AND ("t"."ElapsedTime" = "i"."ElapsedTime" OR ("t"."ElapsedTime" IS NULL AND "i"."ElapsedTime" IS NULL ))  AND ("t"."IsSuccess" = "i"."IsSuccess" OR ("t"."IsSuccess" IS NULL AND "i"."IsSuccess" IS NULL ))  AND (TEXT_EQUAL("t"."Location", "i"."Location") OR ("t"."Location" IS NULL AND "i"."Location" IS NULL ))  AND (TEXT_EQUAL("t"."LogMsg", "i"."LogMsg") OR ("t"."LogMsg" IS NULL AND "i"."LogMsg" IS NULL ))  AND (TEXT_EQUAL("t"."MethodName", "i"."MethodName") OR ("t"."MethodName" IS NULL AND "i"."MethodName" IS NULL ))  AND (TEXT_EQUAL("t"."OpCode", "i"."OpCode") OR ("t"."OpCode" IS NULL AND "i"."OpCode" IS NULL ))  AND (TEXT_EQUAL("t"."OpHost", "i"."OpHost") OR ("t"."OpHost" IS NULL AND "i"."OpHost" IS NULL ))  AND (TEXT_EQUAL("t"."OpName", "i"."OpName") OR ("t"."OpName" IS NULL AND "i"."OpName" IS NULL ))  AND (TEXT_EQUAL("t"."Os", "i"."Os") OR ("t"."Os" IS NULL AND "i"."Os" IS NULL ))  AND (TEXT_EQUAL("t"."Param", "i"."Param") OR ("t"."Param" IS NULL AND "i"."Param" IS NULL ))  AND (TEXT_EQUAL("t"."ReqMethod", "i"."ReqMethod") OR ("t"."ReqMethod" IS NULL AND "i"."ReqMethod" IS NULL ))  AND (TEXT_EQUAL("t"."Result", "i"."Result") OR ("t"."Result" IS NULL AND "i"."Result" IS NULL ))  AND (TEXT_EQUAL("t"."Url", "i"."Url") OR ("t"."Url" IS NULL AND "i"."Url" IS NULL )) ) AND ( "t"."Id" > "V_Id" OR "V_Id" IS NULL)
      ORDER BY "t"."ROWID";

       END;

–执行情况:
image.png

回答 0
暂无回答
扫一扫
联系客服