CREATE TABLE `nzip_eA_result` (
`aReNo` int(11) unsigned NOT NULL auto_increment,
`aNum` mediumint(10) unsigned default NULL,
`aCourt_no` smallint(4) unsigned default NULL,
`aCaseNum1` smallint(4) default NULL,
`aCaseNum2` mediumint(6) default NULL,
`aPetitioner` varchar(100) NOT NULL default '',
`aR_total` bigint(20) unsigned NOT NULL default '0',
`aDegree` int(10) unsigned NOT NULL default '0',
`aR_price` bigint(20) unsigned NOT NULL default '0',
`aD_day` datetime NOT NULL default '0000-00-00 00:00:00',
`aSday` date NOT NULL default '0000-00-00',
`aEday` date NOT NULL default '0000-00-00',
`aState` enum('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','1000') default '1',
`aLog` int(11) unsigned NOT NULL default '0',
`aReg_date` datetime default NULL,
`aMod_date` datetime default NULL,
`auction_ca_id` varchar(130) default NULL,
`auction_idx` mediumint(10) unsigned NOT NULL default '0',
PRIMARY KEY (`aReNo`),
KEY `nzip_r_k3` (`aCourt_no`,`aState`),
KEY `nzip_r_k4` (`aSday`,`aEday`),
KEY `auction_idx` (`auction_idx`),
KEY `aStateField` (`aNum`,`aD_day`,`aReg_date`),
KEY `CaseNums` (`aCaseNum1`,`aCaseNum2`),
KEY `aNum` (`aNum`),
KEY `aD_day` (`aD_day`),
KEY `aD_day_aNum` (`aD_day`,`aNum`),
KEY `aNum_aD_day` (`aNum`,`aD_day`),
KEY `aNum_aState` (`aNum`,`aState`)
) ENGINE=MyISAM DEFAULT CHARSET=euckr
위의 것이 트리거르 사용하는 테이블이고
DELIMITER $$
USE `tmp_auction119`$$
DROP TRIGGER /*!50032 IF EXISTS */ `Trg_Insert_nzip_ea_result`$$
CREATE
/*!50017 DEFINER = 'root'@'222.109.231.%' */
TRIGGER `Trg_Insert_nzip_ea_result` AFTER INSERT ON `nzip_eA_result`
FOR EACH ROW BEGIN
/*
경매 진행내역 히스토리
chk - 동일날짜의 중복확인을 위한 변수선언
DaNum - 고유값인 aNum을찾기위한 변수를 선언
*/
DECLARE DaNum VARCHAR(11);
DECLARE Chk VARCHAR(5);
/*커서를 통해 질의*/
DECLARE PkCursor CURSOR FOR
SELECT a.aNum FROM db_auction.nzip_eAuction a, tmp_auction119.nzip_eAuction b
WHERE a.aCaseNum1 = b.aCaseNum1
AND a.aCaseNum2 = b.aCaseNum2
AND a.aCaseSubNum = b.aCaseSubNum
AND a.aCourt_no = b.aCourt_no
AND b.aNum = New.aNum;
/*커서의 질의값을 DaNum에 할당*/
OPEN PkCursor;
FETCH PkCursor INTO DaNum;
CLOSE PkCursor;
/*동일날짜의 중복값 확인*/
SELECT COUNT(aNum) INTO Chk FROM db_auction.nzip_eA_result
WHERE aNum = DaNum
AND aD_day = New.aD_day;
/*중복값이 없다면 입력하라.*/
IF Chk = '0' THEN
INSERT INTO db_auction.nzip_eA_result
(
aNum,
aCourt_no,
aCaseNum1,
aCaseNum2,
aPetitioner,
aR_total,
aDegree,
aR_price,
aD_day,
aSday,
aEday,
aState,
aLog,
aReg_date,
aMod_date,
auction_ca_id,
auction_idx
)
VALUES
(
DaNum,
New.aCourt_no,
New.aCaseNum1,
New.aCaseNum2,
New.aPetitioner,
New.aR_total,
New.aDegree,
New.aR_price,
New.aD_day,
New.aSday,
New.aEday,
New.aState,
New.aLog,
New.aReg_date,
New.aMod_date,
New.auction_ca_id,
New.auction_idx
);
END IF;
END;
$$
DELIMITER ;
이것이 트리거 구조입니다.
그런데 트리거를 사용해서 인서트를 시키면 계속
No data - zero rows fetched, selected, or processed
이렇게 오류가 떠서 자료가 올라가지 않네요
다른 트리거들고 위와 같은 형식으로 되있는데 왜 안되는지 답답하네요...
어느 부분이 잘못되있는 건가요?
|