ТЗ
Татьяна Записочная
Если бы проверка происходила на стороне клиента, он мог бы принять адекватное решение. Отменять всю транзакцию, или просто НЕ выполнять действие удаления если в таблице останется недостаточно строк.
А триггер будет тупо валиться как только пользователь введет не то значение в ячейку.
Так что хоть это и учебное задание, применения у него наверное нет никакого.
Сомнение вызывает тип text для первичного ключа. Что за СУБД?
Если исходить из того, что первичный ключ не может содержать одинаковые значения по определению, достаточно написать триггер на вставку (after insert), который будет проверять число записей в таблице, и откатывать транзакцию, если число записей в таблице становится >10.