The error message "An SQLSTATE or SQLCODE variable declaration is in a nested compound statement" usually indicates that you have declared an SQLSTATE or SQLCODE variable within a compound statement (BEGIN ... END). In most databases, this is not allowed and the variable must be declared in the outermost scope.

To resolve this error, you need to move the declaration of the SQLSTATE or SQLCODE variable to the outermost scope and ensure that it is not within any compound statements.

Here's an example to illustrate this:

-- Incorrect: Declaration within a compound statement
DO
BEGIN
    DECLARE @sqlstate VARCHAR(5);
    -- more code here
END;

-- Correct: Declaration in the outermost scope
DECLARE @sqlstate VARCHAR(5);
DO
    -- more code here
END;
ข้อความแสดงข้อผิดพลาด "การประกาศตัวแปร SQLSTATE หรือ SQLCODE อยู่ในคำสั่งผสมที่ซ้อนกัน" มักจะบ่งชี้ว่าคุณได้ประกาศตัวแปร SQLSTATE หรือ SQLCODE ภายในคำสั่งผสม (BEGIN ... END) ในฐานข้อมูลส่วนใหญ่ จะไม่ได้รับอนุญาต และต้องประกาศตัวแปรในขอบเขตนอกสุด เพื่อแก้ไขข้อผิดพลาดนี้ คุณต้องย้ายการประกาศตัวแปร SQLSTATE หรือ SQLCODE ไปยังขอบเขตภายนอกสุด และตรวจสอบให้แน่ใจว่าไม่อยู่ในคำสั่งผสมใดๆ นี่คือตัวอย่างเพื่อแสดงสิ่งนี้: -- ไม่ถูกต้อง: การประกาศภายในคำสั่งผสม DO BEGIN DECLARE @sqlstate VARCHAR(5); -- รหัสเพิ่มเติมที่นี่ END; -- ถูกต้อง: การประกาศในขอบเขตนอกสุด DECLARE @sqlstate VARCHAR(5); ทำ -- รหัสเพิ่มเติมที่นี่ END;
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence