SQL Server、MySQL、PostgreSQLにおけるストアドプロシージャの命名規則
ストアドプロシージャの命名規則
ストアドプロシージャに適切な名前を付けることは、コードの理解と管理を容易にするために重要です。 以下は、ストアドプロシージャの命名規則に関する一般的なガイドラインです。
一意性とわかりやすさ
- ストアドプロシージャの名前は、他のオブジェクトと区別できる一意なものでなければなりません。
- 名前は、プロシージャの機能を明確に説明するものでなければなりません。
- 長い名前は避け、短くて覚えやすい名前にしましょう。
接頭辞と接尾辞の使用
- プロシージャの種類を区別するために、接頭辞や接尾辞を使用することができます。
- 例えば、
usp_
を更新プロシージャの接頭辞として、_get
を取得プロシージャの接尾辞として使用することができます。
動詞の使用
- プロシージャの名前は、動詞を使用して、プロシージャが実行するアクションを明確に示すようにしましょう。
- 例えば、
get_customer_data
やupdate_order_status
などの名前は、プロシージャの機能を明確に示しています。
大文字と小文字
- 一般的に、ストアドプロシージャの名前はすべて小文字で記述されます。
- しかし、組織の命名規則に従って、大文字と小文字を混在させることもできます。
アンダーバーの使用
- 単語間の区切り文字として、アンダーバーを使用することができます。
例
以下の例は、上記のガイドラインに従って命名されたストアドプロシージャの名前です。
get_customer_data
update_order_status
create_new_user
delete_product
validate_input
USE AdventureWorks2019;
GO
CREATE PROCEDURE [usp_GetCustomerData]
@CustomerID INT
AS
BEGIN
SELECT *
FROM Person.Customer
WHERE CustomerID = @CustomerID;
END;
GO
MySQL
DELIMITER //
CREATE PROCEDURE `get_customer_data`(
IN `customer_id` INT
)
BEGIN
SELECT *
FROM `customer`
WHERE `customer_id` = `customer_id`;
END;
//
DELIMITER ;
PostgreSQL
CREATE FUNCTION get_customer_data(
customer_id INT
)
RETURNS TABLE (
customer_id INT,
first_name VARCHAR(50),
last_name VARCHAR(50)
)
AS
$$
SELECT customer_id, first_name, last_name
FROM customer
WHERE customer_id = $1;
$$
LANGUAGE SQL;
usp_GetCustomerData
は SQL Server 用のストアドプロシージャです。get_customer_data
は MySQL 用のストアドプロシージャです。
組織の命名規則
組織によっては、独自の命名規則を定めている場合があります。 組織の命名規則に従うことで、コードの一貫性を保つことができます。
コメントの使用
ツールの使用
sql stored-procedures naming-conventions