Я обычно делаю то, что несколько из других плакатов сказали относительно проверки его существующий первый и затем делающий независимо от того, что корректный путь. Одна вещь, которую необходимо помнить при выполнении этого, состоит в том, что план выполнения, кэшируемый sql, мог быть неоптимальным для одного пути или другого. Я верю лучшему способу сделать, это должно назвать две различных хранимых процедуры.
FirstSP: If Exists Call SecondSP (UpdateProc) Else Call ThirdSP (InsertProc)
Теперь, я не следую своему собственному совету очень часто, поэтому беру его с мелкой частицей соли.
Библиотека Ruby под названием OpenPGP была выпущена несколько месяцев назад. Похоже, это сработает для вас.