|
是否可以显示通过此查询插入的行:
/ x/ `$ @6 E* a3 n0 {2 CINSERT INTO dbo.Table (Col1, Col2, Col2)
, y# _% e) e; C. ] (SELECT, N# v, \2 p7 V% K2 Q- Z
Col1,$ M/ |8 R F5 L% i e
Col2,
. d9 h' J9 p H c3 S; K6 k4 M 'Something modified',( {* ~* ]: u9 |% M, f
FROM dbo.Table, e6 S) i8 c: e0 @
WHERE Col10 = 66)
! [1 |4 c# s" i, Z0 g+ }重要的是,不仅要使用Col1,Col2,Col3,而且还要用它的PrimaryKey值等获得整个新行。/ k" c8 ]$ L( a; r" r* K
6 `" M* B$ \; \
解决方案:) ?9 k- H/ y1 I1 i6 S$ z
: T% z1 O' E8 E8 x' d% _! {0 J
3 Q8 W8 ~0 P3 V
" v; B' M4 V+ X$ L
该 OUTPUT 子句现在是您的朋友:. d) I E% p* Y, t9 O) N$ ~
INSERT INTO steam.DocumentGeographies (Col1, Col2, Col3)
7 x0 E8 Q/ z g& `/ U4 D/ WOUTPUT inserted.*
3 p% @3 C0 h3 y$ L (SELECT# I$ g8 l5 I" c' W- U% D n
Col1,
C' g$ a$ r( Q1 w6 g$ g v5 [ Col2,
2 m! d, F+ p+ V* L 'Something modified'," z4 _; D5 F4 A
FROM dbo.Table
: B, I' i- S& K! X9 y WHERE Col10 = 66)
2 J) O# d$ @( r0 m您可以OUTPUT通过使用INTO子句指定目标表或将查询包装为子查询来插入的结果:
1 c n: ?# \9 Y9 k3 S. M ^INTO( z$ v7 d, W! ^, y8 ^ O n8 M* |
条款
e( w/ G, e: y* F+ H当您要将相同的数据插入两个表时,这很有用。 您始终可以在OUTPUT子句中列出所需的文件(insertted.Col1,insert.Col2)
z, z$ o: c" ~9 u, v2 ~INSERT INTO steam.DocumentGeographies (Col1, Col2, Col3)
& X5 I# m3 l2 S" G& z e1 ~ OUTPUT inserted.* INTO DestinationTableName(Col1, Col2, Col3)
' F/ h' E6 K9 n* `9 I' a+ \ (SELECT
$ Q, X3 P) r6 e Col1,
* ?/ O6 |! M: H Col2,1 A/ l4 }7 s. Z$ A0 T5 ^. A
'Something modified',, I) \0 f6 k, F! z ?# N
FROM dbo.Table
_, q+ |: `7 T6 q; P WHERE Col10 = 66)) t' j8 s, n7 m! n. E K/ u
子查询
' g3 q! {2 K6 E# J! {( ~/ R当您想将OUTPUT连接到另一个表或要进行计算(如求和或计数值)并将这些结果插入另一个表时,此功能很有用。" k" S) A: |5 I, U
INSERT INTO DestinationTableName+ s7 W% K. _# R9 d/ M; r
(Col1, Col2, Col3)* x' o* P7 V" R+ ~* L5 M
SELECT Col1, Col2, Col3 FROM (4 v) ^6 ?$ e! Y: E5 i- q
INSERT INTO steam.DocumentGeographies (Col1, Col2, Col3)
5 H/ i3 k2 _4 T& T% I OUTPUT inserted.*$ } {+ E0 @2 g+ z3 [; W1 `
(SELECT
5 {; J- r; o2 g8 O% d Col1,+ c3 u. ~2 x& \- j
Col2,
, M. `7 D& t' p: l( [. S, S 'Something modified',# f; [% ^9 l6 o# M$ F m
FROM dbo.Table! T: A- s8 ] n' h) S& o* L1 r; t
WHERE Col10 = 66) n z$ Q: v! X. G# g2 W7 [' i" E
) TMP |
|