SQL Server
 Computer >> コンピューター >  >> プログラミング >> SQL Server

SQL ServerのCURRENT_USERステートメントの使い方を徹底解説

この記事では、SQL ServerでCURRENT_USERステートメントを使用する方法について、具体的な構文と実行例を交えながら詳しく解説します。現在のデータベースユーザー名を取得する仕組みを理解し、実務に活かせるようにしましょう。

説明

CURRENT_USERステートメントは、SQL Serverデータベースにおける現在のユーザー名を返す組み込み関数です。戻り値のデータ型は sysname であり、セッションの実行コンテキストに基づいたユーザー名が取得されます。たとえば、EXECUTE AS によって実行コンテキストが別のユーザーに切り替えられている場合は、そのユーザーの名前が返されます。

構文

SQL ServerでCURRENT_USERステートメントを使用するには、次の構文に従います。

CURRENT_USER
  • このステートメントには、パラメータおよび引数はありません。

注意点:

  1. CURRENT_USER関数の後ろに括弧 () を付けてはいけません。括弧を付けると構文エラーになります。
  2. 類似の機能を持つ USER_NAMESESSION_USERSYSTEM_USER 関数も併せて確認しておくとよいでしょう。
  3. CURRENT_USERは、SQL Server 2017、SQL Server 2016、SQL Server 2014、SQL Server 2012、SQL Server 2008 R2、SQL Server 2008、SQL Server 2005以降のすべてのバージョンで利用できます。

使用例

それでは、SQL ServerにおけるCURRENT_USERステートメントの実際の使い方を見てみましょう。

SELECT CURRENT_USER;

実行結果:
'quantrimang'

このように、クエリを実行したユーザーのデータベース上の名前が文字列として返されます。権限管理や監査ログの作成など、誰が操作を行ったのかを把握する必要がある場面で非常に役立つ関数です。

  1. SQL ServerのIF...ELSE文とは?基本構文と実践例をわかりやすく解説

    他のプログラミング言語と同様に、SQL Serverでも条件分岐を行うためのIF...ELSEコマンドが用意されています。本記事では、IF...ELSE文の構文の使い方を、わかりやすい具体例とともに詳しく解説します。 概要 SQL ServerにおけるIF...ELSE文は、条件に応じて処理を分岐させるために使用されるステートメントです。条件がTRUE(真)と評価された場合は一方的な処理を実行し、FALSE(偽)と評価された場合には別の処理を実行します。 IF...ELSE文の構文 SQL ServerでIF...ELSEによる分岐処理を行うには、以下の構文に従って記述します。 IF 条件式{

  2. SQL ServerのINSERT文の使い方!基本構文から実例まで徹底解説

    SQL Server(Transact-SQL)におけるINSERT文は、テーブルに1件または複数件のレコードを挿入するための基本的なDML文です。本記事では、INSERT文の基本構文から、複数行の一括挿入、DEFAULT VALUESやSELECT文との組み合わせといった応用例まで、わかりやすく解説します。 INSERTコマンドの基本構文 1件のレコードを挿入する場合 最もシンプルな形式は、VALUESキーワードを使って1件のレコードを挿入する方法です。 INSERT INTO テーブル名 (列名1, 列名2, …) VALUES (値1, 値2, …); 完全な構文では、各列に代入する