hello all I can´t run scripts sql using tmysql, I guess my fault, but I can´t see where
cScript := "" cScript += "DELIMITER $$"+CHR(10)+CHR(13) cScript += "CREATE DEFINER = `ro...@`%` TRIGGER `lancamentos_fixos_before_ins_tr` BEFORE INSERT ON `lancamentos_fixos` FOR EACH ROW"+CHR(10)+CHR(13) cScript += "BEGIN"+CHR(10)+CHR(13) cScript += ""+CHR(10)+CHR(13) cScript += "IF ( (NEW.idsequencial IS NULL) OR (NEW.idsequencial = 0) ) THEN"+CHR(10)+CHR(13) cScript += "BEGIN"+CHR(10)+CHR(13) cScript += " SELECT MAX(idsequencial) INTO @ultimo_id FROM `lancamentos_fixos` WHERE idserver=NEW.idserver AND idfilial=NEW.idfilial;"+CHR(10)+CHR(13) cScript += ""+CHR(10)+CHR(13) cScript += " IF ((@ultimo_id IS NULL) OR (@ultimo_id=0)) THEN"+CHR(10)+CHR(13) cScript += " BEGIN"+CHR(10)+CHR(13) cScript += " SET NEW.id = CONCAT( NEW.idserver, NEW.idfilial, 1 );"+CHR(10)+CHR(13) cScript += " SET NEW.idsequencial = 1;"+CHR(10)+CHR(13) cScript += " END;"+CHR(10)+CHR(13) cScript += " ELSE"+CHR(10)+CHR(13) cScript += " BEGIN"+CHR(10)+CHR(13) cScript += " SET NEW.id = CONCAT( NEW.idserver, NEW.idfilial, (@ultimo_id + 1) );"+CHR(10)+CHR(13) cScript += " SET NEW.idsequencial = (@ultimo_id + 1);"+CHR(10)+CHR(13) cScript += " END;"+CHR(10)+CHR(13) cScript += " END IF;"+CHR(10)+CHR(13) cScript += ""+CHR(10)+CHR(13) cScript += " END;"+CHR(10)+CHR(13) cScript += " END IF;"+CHR(10)+CHR(13) cScript += "END $$"+CHR(10)+CHR(13) cScript += "DELIMITER ;"+CHR(10)+CHR(13) oServer:query( ALLTRIM( cScript ) ) but happens Error in your sql syntax I tested the code in sql client and runs ok the script DELIMITER $$ CREATE DEFINER = `ro...@`%` TRIGGER `lancamentos_fixos_before_ins_tr` BEFORE INSERT ON `lancamentos_fixos` FOR EACH ROW BEGIN IF ( (NEW.idsequencial IS NULL) OR (NEW.idsequencial = 0) ) THEN BEGIN SELECT MAX(idsequencial) INTO @ultimo_id FROM `lancamentos_fixos` WHERE idserver=NEW.idserver AND idfilial=NEW.idfilial; IF ((@ultimo_id IS NULL) OR (@ultimo_id=0)) THEN BEGIN SET NEW.id = CONCAT( NEW.idserver, NEW.idfilial, 1 ); SET NEW.idsequencial = 1; END; ELSE BEGIN SET NEW.id = CONCAT( NEW.idserver, NEW.idfilial, (@ultimo_id + 1) ); SET NEW.idsequencial = (@ultimo_id + 1); END; END IF; END; END IF; END $$ DELIMITER ; I don´t know how make this, can someone help me? Best Regards Fernando Athayde
_______________________________________________ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour