是一個 niladic 函數(shù),允許在未指定默認值時將系統(tǒng)為當前會話的用戶名提供的值插入到表中。還允許在查詢、錯誤信息等中使用用戶名。
SESSION_USER
nchar
SESSION_USER 可在 CREATE TABLE 或 ALTER TABLE 語句中與 DEFAULT 約束一起使用,或者用作任何標準函數(shù)。
下例聲明一個 char 類型的變量,并將 SESSION_USER 賦為當前值,然后輸出該變量并帶有文本描述。
DECLARE @session_usr char(30)
SET @session_usr = SESSION_USER
SELECT 'This session''s current user is: '+ @session_usr
GO
下面是結果集:
--------------------------------------------------------------
This session's current user is: dbo
(1 row(s) affected)
下例將 SESSION_USER niladic 函數(shù)用作 DEFAULT 約束為交貨人創(chuàng)建表。
USE pubs
GO
CREATE TABLE deliveries2
(
order_id int IDENTITY(5000, 1) NOT NULL,
cust_id int NOT NULL,
order_date datetime NOT NULL DEFAULT GETDATE(),
delivery_date datetime NOT NULL DEFAULT DATEADD(dd, 10, GETDATE()),
delivery_person char(30) NOT NULL DEFAULT SESSION_USER
)
GO
INSERT deliveries2 (cust_id)
VALUES (7510)
INSERT deliveries2 (cust_id)
VALUES (7231)
INSERT deliveries2 (cust_id)
VALUES (7028)
INSERT deliveries2 (cust_id)
VALUES (7392)
INSERT deliveries2 (cust_id)
VALUES (7452)
GO
以下查詢選擇 deliveries2 表中的全部信息。
SELECT order_id AS 'Ord#', cust_id AS 'Cust#', order_date,
delivery_date, delivery_person AS 'Delivery'
FROM deliveries2
ORDER BY order_id
GO
下面是結果集:
Ord# Cust# order_date delivery_date Delivery
---- ------ ------------------ -------------------- ----------------
5000 7510 Mar 4 1998 10:21AM Mar 14 1998 10:21AM dbo
5001 7231 Mar 4 1998 10:21AM Mar 14 1998 10:21AM dbo
5002 7028 Mar 4 1998 10:21AM Mar 14 1998 10:21AM dbo
5003 7392 Mar 4 1998 10:21AM Mar 14 1998 10:21AM dbo
5004 7452 Mar 4 1998 10:21AM Mar 14 1998 10:21AM dbo
(5 row(s) affected)
相關文章