Вы можете использовать оператор sizeof, но он не будет работать для функций, потому что для ссылки на указатель вы можете сделать следующее, чтобы найти длину массива:
len = sizeof(arr)/sizeof(arr[0])
Код, первоначально найденный здесь : C программа для поиска числа элементов в массиве
Если у вас есть уникальные индексы, вы всегда можете сделать INSERT IGNORE
CREATE TRIGGER ins_bills AFTER INSERT ON databaseA.bills
FOR EACH ROW
BEGIN
INSERT IGNORE INTO databaseB.bills (billNumber) VALUES (NEW.billNumber);
END //
Предполагая, что вы используете // в качестве разделителя, вам просто нужно использовать точки с запятой в конце sql stmts внутри тела триггера и использовать // после триггера END:
CREATE TRIGGER ins_bills AFTER INSERT ON databaseA.bills
FOR EACH ROW
BEGIN
IF NOT EXISTS (SELECT 1 FROM databaseB.bills WHERE billNumber=NEW.billNumber) THEN
INSERT INTO databaseB.bills (billNumber) VALUES (NEW.billNumber);
END IF;
END //