الفرق بين المراجعتين لصفحة: «SQL/alter function»
ط تغيير اسم التصنيف |
ط استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}' |
||
سطر 54: | سطر 54: | ||
* [https://docs.oracle.com/cd/B28359_01/appdev.111/b28370/alter_function.htm توثيق ALTER FUNCTION في محرك Oracle] | * [https://docs.oracle.com/cd/B28359_01/appdev.111/b28370/alter_function.htm توثيق ALTER FUNCTION في محرك Oracle] | ||
* [https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-function-transact-sql توثيق ALTER FUNCTION في محرك SQLServer] | * [https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-function-transact-sql توثيق ALTER FUNCTION في محرك SQLServer] | ||
[[تصنيف:SQL]] | [[تصنيف:SQL|{{SUBPAGENAME}}]] | ||
[[تصنيف:SQL Functions]] | [[تصنيف:SQL Functions|{{SUBPAGENAME}}]] |
المراجعة الحالية بتاريخ 15:42، 28 يناير 2018
يستخدم هذا الأمر لتعديل تعريف دالة مُعرَّفة مسبقًا عبر الأمر CREATE FUNCTION
، وله الصيغ الآتية:
ALTER FUNCTION name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ]
RENAME TO new_name;
لإعادة تسمية الدالة name
(والتي معاملاتها محددة بالنوع argmode
والاسم argname
ونوع البيانات argtype
) باسم جديد new_name
.
ALTER FUNCTION name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ]
OWNER TO { new_owner | CURRENT_USER | SESSION_USER };
لنقل ملكية الدالة name
(والتي معاملاتها محددة بالنوع argmode
والاسم argname
ونوع البيانات argtype
) إلى مالك جديد new_owner
أو المستخدم الحالي CURRENT_USER
.
أما لتغيير مهمة الدالة (بنيتها الداخلية body
) فيُستخدم الأمر بالشكل:
ALTER FUNCTION name ( [ [ argmode ] [ argname ] argtype [, ...] ] )
RETURNS return_data_type
[ AS ]
BEGIN
function_body
RETURN scalar_expression
END
;
إذ يمكن تعديل أيّ من الخصائص الواردة بتعريف الدالة كما هو الحال عند إنشائها عبر الأمر CREATE FUNCTION
.
أمثلة
لإعادة تسمية الدالة sqrt
لتصبح باسم square_root
، يستخدم الأمر:
ALTER FUNCTION sqrt(integer) RENAME TO square_root;
لتعديل الدالة get_count
المُنشأة مسبقًا لتعيد عدد السجلات التي يكون فيها معدل الطالب أكبر من 2 بدلًا من العدد الإجمالي، يستخدم الأمر:
ALTER FUNCTION get_count (OUT num INTEGER) AS
SELECT COUNT(*) INTO num FROM students
WHERE GPA>2;
التوافقية
SQLServer | SQLite | Oracle | PostgreSQL | MySQL |
---|---|---|---|---|
نعم | لا | نعم | نعم | نعم |
يقتصر هذا الأمر في محرك Oracle على إعادة ترجمة recompile الدالة من خلال الكلمة المفتاحية COMPILE
.