スカラー関数:スカラー関数を作成、呼び出し、変更、削除する方法は?
公開: 2021-05-26目次
スカラー関数とは何ですか?
SQLは、データベース管理システムで最も一般的に使用されている言語の1つです。 この言語は主に、リポジトリからデータを入力およびフェッチするために使用されます。 他のプログラミング言語と同様に、SQLには一連の関数があります。
SQL Serverには、データを操作するための2つの主要なタイプの関数があります。
- システム定義関数
- ユーザー定義関数
システム定義関数は、事前定義された組み込み関数であり、その機能を変更することはできません。 一方、ユーザー定義関数は、必要に応じてカスタムタスクを実行するように設計できる関数です。
SQL Serverは、3種類のユーザー定義関数を提供します
- 単純なテーブル値関数
- スカラーテーブル値関数
- マルチステートメントのテーブル値関数
この記事では、スカラー値関数(ユーザー定義関数)について説明し、その作成方法を学習します。
SQLのスカラー値関数は、複数のパラメーターを受け取り、任意のデータ型の単一の値を返します。 スカラー値関数を作成するには、「Create」ステートメントを使用します。 これらのタイプの関数は、コードを単純化するためにコードに含まれています。
たとえば、コードのさまざまなステップで難しい計算を実行する必要がある場合があります。 コードを書く代わりに、何度も何度も、スカラー関数を作成してコードをカプセル化することができます。 さて、その面倒な計算を実行するために必要なのは、単純な構文でスカラー関数を呼び出すことだけです。
注意–スカラー値関数の名前は128文字を超えることはできず、便宜上、接頭辞fnで始める必要があります。
スカラー関数を作成する方法は?
スカラー関数を作成するには、以下に説明するように「Createfunction」ステートメントを使用する必要があります。
1 CREATE FUNCTION[schemaName。]fnName(パラメータリスト)
2 RETURNS data_type AS
3開始
4つのステートメント
5戻り値
6終了
構文を理解する
1行目– CREATE FUNCTIONは、SQLサーバーにスカラー関数を作成するように指示するコマンドです。 ここでは、スキーマ名はオプションです。 指定しない場合、SQLはデフォルトでdboを使用します。 スキーマ名の後に関数名が続きます。これには、括弧で囲まれたパラメーターが含まれている必要があります。
2行目–RETURNステートメントで戻り値のデータ型を指定します。
3行目–関数の本体内に値を返すreturnステートメントを指定します。
例
次の例では、定価、数量、割引に基づいて総売上高を計算する関数を作成します。
CREATE FUNCTION sales.TotalSale(
@quantity QTY、
@listprice JAN(15,4)、
@disnt Jan(13、2)
)。
1月に戻る(15,4)
なので
始める
RETURN @quantity * @list_price *(1 – @disnt);
終わり;
この関数は、後でデータベースから任意の販売注文の総売上を計算するために使用できます。
スカラー関数を呼び出す方法は?
スカラー関数は、組み込み関数と同じように呼び出すことができます。
例:以下のステートメントは、 TotalSale()関数を呼び出す方法を明確に示しています。
選択する
sales.TotalSale(10,100,0.1)total_sale;
スカラー関数を変更する方法は?
スカラー関数を変更するには、CREATEの代わりにキーワードALTERを使用します。 その後の他のすべてのステートメントは同じままです。
ALTER FUNCTION[schemaName。]fnName(parameterList)
data_typeASを返す
始める
ステートメント
戻り値
終わり
スカラー関数を削除する方法は?
DROP FUNCTIONステートメントは、既存のスカラー関数を削除するために使用されます。
関数の構文は次のとおりです。
ドロップ関数[schemaName。]fnName;
たとえば、TotalSale()関数を削除するには、次のステートメントを使用できます。
ドロップ機能TotalSale
スカラー関数は、SQLで最も一般的に使用される関数の1つです。 これらの関数は組み込み関数のように機能しますが、実際にはユーザー定義です。 コード内で一連のステートメントを繰り返す必要がある場合は、いくつかの関数を作成できます。 その後に行う必要があるのは、関数を呼び出して適切なパラメーターを渡すことだけです。 SQLScalar関数からの重要なポイントは次のとおりです。
- SQLステートメントのどこでもスカラー関数を使用できます。
- スカラー関数は、WHILEループやIFブロックなどのロジックを使用します。
- スカラー関数は他の関数を呼び出すことができます。
- スカラー関数はデータにアクセスできません。
- スカラー関数は、複数のパラメーターを受け入れますが、単一の値のみを返すため、RETURN値を持つ必要があります。
世界のトップ大学からオンラインでソフトウェアコースを学びましょう。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。
結論
プログラムでスカラー関数を作成することは、SQLの良い習慣です。 スカラー関数は、誰もがコードを読みやすくするための最良かつ効果的な方法の1つです。 この記事がスカラー関数について学ぶのに役立つことを願っています。 プログラマーになることを楽しみにしていて、主題に関する包括的な知識を持っている場合は、 upGradからコースを受講することを検討してください。 upGradは、世界をリードする大学から最高のコンピュータサイエンスコースを提供しています。
フルスタックソフトウェア開発の詳細に興味がある場合は、upGrad&IIIT-Bのソフトウェア開発のエグゼクティブPGプログラム–フルスタック開発の専門分野をチェックしてください。これは、働く専門家向けに設計されており、500時間以上の厳格なトレーニングを提供します。9 +プロジェクト、割り当て、IIIT-B卒業生のステータス、実践的な実践的なキャップストーンプロジェクト、トップ企業との仕事の支援。
SQLの関数とは何ですか?
関数は、値を返すSQLの特殊なタイプのプロシージャです。 関数は、単一の値を返すか、リスト内の複数の値を返すか、行のセットを単一の値に集約します。 つまり、データベースに情報を保存するのではなく、その場で計算を行うため、クエリを迅速に進めることができます。 関数は、SQLで定義された述語の基本セットであり、SQLステートメントを構成するために使用されます。 関数は、スカラー関数と集計関数に分類されます。 スカラー関数は、式から単一の値を返す関数です。
SQLとは何ですか?
SQLはStructuredQueryLanguageの略です。 これは、データの管理に使用される特別なプログラミング言語です。 ほとんどのデータベースシステムで使用されています。 データは、テキスト、数字、画像、およびビデオの形式にすることができます。 SQL言語は、データクエリとデータ入力を実行するために使用されます。 SQL言語は最も強力な言語の1つです。 データベースにデータを保存するために使用されます。 MySQL、Oracle、PostgreSQLなどのさまざまなデータベースシステムでサポートされています。これらのシステムは、データベースの形成に使用できる大量のデータを格納するために使用できます。 これは、データベース管理システムのコア言語です。 これはデータベースシステムの普遍的な言語です。 データベースはSQLによって構造化されているため、構造化照会言語と呼ばれます。 SQLは、データベース管理とデータベース操作の管理に使用されます。 これは、データベースクエリとデータ入力の標準言語です。
SQLとMongoDBの違いは何ですか?
SQL(Structured Query Language)は、リレーショナルデータベース管理システムでデータを管理するために設計されたプログラミング言語です。 SQLは、世界で最も重要で広く使用されているプログラミング言語の1つです。 これは、リレーショナルデータベース管理システムでデータを保存、取得、および管理するための標準です。 たとえば、Google、Amazon、Facebook、Instagram、Twitterは、SQLを使用して数十億のユーザーデータを保存および管理しています。 MongoDBは非リレーショナルデータベースです。 これは、ドキュメントベースのスキーマフリーデータベースです。 MongoDBのデータは、JSONのようなドキュメントの形式で保存されます。