最近のトラックバック

最近のコメント

2017年3月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
無料ブログはココログ

« URL/URIの長さ制限 | トップページ | メモリ消費量を調査 »

2010年7月14日 (水)

リストを使ったSQL?

TVPとINSERT OVER DMLを調べる過程で知ったこと。

こんなことも出来るらしい。

(1)まずはテーブルを作成

CREATE TABLE [dbo].[Contacts](
[Name] [nvarchar](50) NULL,
[Age] [decimal](18, 0) NULL,
[SalesId] [decimal](18, 0) NULL
) ON [PRIMARY]

GO

CREATE TABLE [dbo].[Employee](
[EmployeeID] [nvarchar](50) NULL,
[EmployeeName] [nvarchar](50) NULL
) ON [PRIMARY]

GO

(2) INSERTを実行

INSERT INTO dbo.Contacts (Name, Age, SalesId)
VALUES ('John Doe', 25,5),
  ('Jane Doe', 36,6),
  ('Peter Doe', 49,7),
  ('Ralf Doe', 31,8),
  ('Smith Doe', 51, 3)
GO

INSERT INTO dbo.Employees (EmployeeID, EmployeeName)
VALUES  (7, 'Peter Doe'),
  (6, 'Jane Doe'),
  (3, 'Smith Doe')
GO

(3)続いてSELECT文を実行

SELECT *
FROM
(VALUES ('John Doe',25,5),
   ('Jane Doe', 36,6),
   ('Peter Doe', 49,7))
  p(pName, pAge, pSalesID)
GO

SELECT *
FROM dbo.Employees emp
JOIN (VALUES ('John Doe',25,5), 
    ('Jane Doe', 36,6),
    ('Peter Doe', 49,7))
  p(pName, pAge, pSalesID)
ON emp.EmployeeID = p.pSalesID
GO

モトネタはこちら。

More SQL Server 2008 T-SQL Coolness - Table Value Constructors (or better, Row Constructors)

« URL/URIの長さ制限 | トップページ | メモリ消費量を調査 »

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/181317/48877149

この記事へのトラックバック一覧です: リストを使ったSQL?:

« URL/URIの長さ制限 | トップページ | メモリ消費量を調査 »