По определению «триггер» - это процедура, которая срабатывает при изменении таблицы.Я полагаю, вы могли бы запустить его программно, выполнив обновление / удаление / создание для таблицы с триггером.
Если вы хотите, чтобы процедура могла выполняться вручную, то, как вы указали, вам просто нужно создатьхранимая процедура.
Если вам нужна процедура, которая может быть выполнена как триггер и вручную, почему бы не создать хранимую процедуру, а затем создать триггер, который просто имеет одну строку, которая запускает эту процедуру?
Если вы пишете некоторый тестовый / диагностический код и действительно нуждаетесь в вызове некоторого триггерного кода, вы можете использовать некоторый мета-API (я помню, у Oracle было что-то подобное. Не уверен насчет сервера SQL, но он должен иметь что-то) извлечь код и втирать его в хранимую процедуру.Если вы сделаете это, как уже упоминал Alex_L, вам придется каким-то образом подделать строки псевдообновления, которые обычно доступны только для триггеров.