0
나는 다음과 같은 오류가 DB2에 저장 프로 시저를 만들려고 얻을오류 SQLCODE DB2에 트리거를 수행 -138
Error report:
DB2 SQL error: SQLCODE: -138, SQLSTATE: 22011, SQLERRMC: null
내 트리거는 다음 중 하나입니다 다음에 따르면
CREATE TRIGGER INSERT_SERIALNUMBER
AFTER INSERT ON LASERM
REFERENCING NEW ROW AS NROW
FOR EACH ROW MODE DB2SQL
BEGIN
DECLARE ARTICLECODE CHAR(30);
DECLARE POS INT;
SET POS = LOCATE('-', NROW.PROGRAMNAME);
IF POS > 0 THEN
SET ARTICLECODE = SUBSTR(NROW.PROGRAMNAME, 0, POS);
ELSE
SET ARTICLECODE = NROW.PROGRAMNAME;
END IF;
CALL SP_INSERT_SERIALNUMBER(ARTICLECODE, NROW.PCBCODE);
END
DB2 SQLCodes list, -138
-138 THE SECOND OR THIRD ARGUMENT OF THE SUBSTR OR SUBSTRING FUNCTION IS OUT OF RANGE
내가 원하는 것은 "-"을 찾을 때 다른 문자열을 빼는 것입니다. 예를 들어, 코드는 "ART00001-A"이고 "ART00001"을 얻고 싶습니다.
저는 DB2 SQL 구문에 익숙하지 않으므로, 해당 코드에서 문제가 발생하면 미리 감사드립니다. DB2에서
를이는 PostgreSQL의 태그 이유 DB2에 대한 경우를? –
@CraigRinger 죄송합니다. 이제 해결되었습니다. – Ruben
감사합니다. 나는 혼란 스러웠다. 때로는 다른 DB 이름으로 태그를 추가하는 것이 "이 다른 데이터베이스에서 어떻게 할 수 있습니까?"라고하는 대신에 태그하는 것으로 가정합니다. –