DROP FUNCTION
DROP FUNCTION â ÑдалиÑÑ ÑÑнкÑиÑ
СинÑакÑиÑ
DROP FUNCTION [ IF EXISTS ]имÑ[ ( [ [Ñежим_аÑгÑменÑа] [имÑ_аÑгÑменÑа]Ñип_аÑгÑменÑа[, ...] ] ) ] [, ...] [ CASCADE | RESTRICT ]
ÐпиÑание
DROP FUNCTION ÑдалÑÐµÑ Ð¾Ð¿Ñеделение ÑÑÑеÑÑвÑÑÑей ÑÑнкÑии. ÐолÑзоваÑелÑ, вÑполнÑÑÑий ÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ, должен бÑÑÑ Ð²Ð»Ð°Ð´ÐµÐ»ÑÑем ÑÑнкÑии. Ðомимо имени ÑÑнкÑии ÑÑебÑеÑÑÑ ÑказаÑÑ ÑÐ¸Ð¿Ñ ÐµÑ Ð°ÑгÑменÑов, Ñак как в базе даннÑÑ
могÑÑ ÑÑÑеÑÑвоваÑÑ Ð½ÐµÑколÑко ÑÑнкÑий Ñ Ð¾Ð´Ð½Ð¸Ð¼ именем, но Ñ ÑазнÑми ÑпиÑками аÑгÑменÑов.
ÐаÑамеÑÑÑ
IF EXISTSÐе ÑÑиÑаÑÑ Ð¾Ñибкой, еÑли ÑÑнкÑÐ¸Ñ Ð½Ðµ ÑÑÑеÑÑвÑеÑ. Ð ÑÑом ÑлÑÑае бÑÐ´ÐµÑ Ð²Ñдано замеÑание.
имÑÐÐ¼Ñ ÑÑÑеÑÑвÑÑÑей ÑÑнкÑии (возможно, дополненное ÑÑ ÐµÐ¼Ð¾Ð¹). ÐÑли ÑпиÑок аÑгÑменÑов не Ñказан, Ð¸Ð¼Ñ ÑÑнкÑии должно бÑÑÑ ÑникалÑнÑм в ÐµÑ ÑÑ ÐµÐ¼Ðµ.
Ñежим_аÑгÑменÑаРежим аÑгÑменÑа:
IN,OUT,INOUTилиVARIADIC. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¿Ð¾Ð´ÑазÑмеваеÑÑÑIN. ÐамеÑÑÑе, ÑÑоDROP FUNCTIONне ÑÑиÑÑÐ²Ð°ÐµÑ Ð°ÑгÑменÑÑOUT, Ñак как Ð´Ð»Ñ Ð¸Ð´ÐµÐ½ÑиÑикаÑии ÑÑнкÑии нÑÐ¶Ð½Ñ ÑолÑко ÑÐ¸Ð¿Ñ Ð²Ñ Ð¾Ð´Ð½ÑÑ Ð°ÑгÑменÑов. ÐоÑÑÐ¾Ð¼Ñ Ð´Ð¾ÑÑаÑоÑно пеÑеÑиÑлиÑÑ ÑолÑко аÑгÑменÑÑIN,INOUTиVARIADIC.имÑ_аÑгÑменÑаÐÐ¼Ñ Ð°ÑгÑменÑа. ÐамеÑÑÑе, ÑÑо на Ñамом деле
DROP FUNCTIONне обÑаÑÐ°ÐµÑ Ð²Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ на имена аÑгÑменÑов, Ñак как Ð´Ð»Ñ Ð¾Ð´Ð½Ð¾Ð·Ð½Ð°Ñной иденÑиÑикаÑии ÑÑнкÑии доÑÑаÑоÑно ÑолÑко Ñипов аÑгÑменÑов.Ñип_аÑгÑменÑаТип даннÑÑ Ð°ÑгÑменÑов ÑÑнкÑии (возможно, дополненнÑй именем ÑÑ ÐµÐ¼Ñ), еÑли ÑаковÑе имеÑÑÑÑ.
CASCADEÐвÑомаÑиÑеÑки ÑдалÑÑÑ Ð¾Ð±ÑекÑÑ, завиÑÑÑие Ð¾Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ ÑÑнкÑии (напÑимеÑ, опеÑаÑоÑÑ Ð¸Ð»Ð¸ ÑÑиггеÑÑ), и, в ÑÐ²Ð¾Ñ Ð¾ÑеÑедÑ, вÑе завиÑÑÑие Ð¾Ñ Ð½Ð¸Ñ Ð¾Ð±ÑекÑÑ (Ñм. Раздел 5.14).
RESTRICTÐÑказаÑÑ Ð² Ñдалении ÑÑнкÑии, еÑли Ð¾Ñ Ð½ÐµÑ Ð·Ð°Ð²Ð¸ÑÑÑ ÐºÐ°ÐºÐ¸Ðµ-либо обÑекÑÑ. ÐÑо поведение по ÑмолÑаниÑ.
ÐÑимеÑÑ
ÐÑа команда ÑдалÑÐµÑ ÑÑнкÑиÑ, вÑÑиÑлÑÑÑÑÑ ÐºÐ²Ð°Ð´ÑаÑнÑй коÑенÑ:
DROP FUNCTION sqrt(integer);
Удаление неÑколÑÐºÐ¸Ñ ÑÑнкÑий одной командой:
DROP FUNCTION sqrt(integer), sqrt(bigint);
ÐÑли Ð¸Ð¼Ñ ÑÑнкÑии ÑникалÑно в ÐµÑ ÑÑ ÐµÐ¼Ðµ, на Ð½ÐµÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑоÑлаÑÑÑÑ Ð±ÐµÐ· ÑпиÑка аÑгÑменÑов:
DROP FUNCTION update_employee_salaries;
ÐамеÑÑÑе, ÑÑо ÑÑо оÑлиÑаеÑÑÑ Ð¾Ñ
DROP FUNCTION update_employee_salaries();
ÐÐ°Ð½Ð½Ð°Ñ ÑоÑма ÑÑÑлаеÑÑÑ Ð½Ð° ÑÑнкÑÐ¸Ñ Ñ Ð½ÑлÑм аÑгÑменÑов, Ñогда как пеÑвÑй ваÑÐ¸Ð°Ð½Ñ Ð¿Ð¾Ð´Ñ Ð¾Ð´Ð¸Ñ Ð´Ð»Ñ ÑÑнкÑии Ñ Ð»ÑбÑм ÑиÑлом аÑгÑменÑов, в Ñом ÑиÑле и Ñ Ð½ÑлÑм, еÑли Ð¸Ð¼Ñ ÑÑнкÑии ÑникалÑно.
СовмеÑÑимоÑÑÑ
ÐÑа команда ÑооÑвеÑÑÑвÑÐµÑ ÑÑандаÑÑÑ SQL, но дополнена ÑледÑÑÑими ÑаÑÑиÑениÑми Postgres Pro:
СÑандаÑÑ Ð´Ð¾Ð¿ÑÑÐºÐ°ÐµÑ Ñдаление в одной команде ÑолÑко одной ÑÑнкÑии.
Указание
IF EXISTSÐозможноÑÑÑ ÑказÑваÑÑ ÑÐµÐ¶Ð¸Ð¼Ñ Ð¸ имена аÑгÑменÑов