更新:感谢所有纠正我的arg订单和展示位置的人。我能够纠正我的回答。似乎前一个问题回答了这个问题(以前,我认为它与SQL Server不兼容)。我愿意接受有关是否应该删除的反馈意见。
在SQL Server中,是否可以将来自另一个表AS WELL的信息作为显式值插入?我想的是以下内容:
INSERT INTO [dbo].[GABAD01_CNTNR]
(
[ABAL01_CNTNR_TYP_C]
,[ABAL02_ZONE_C]
,[ABAL03_ENVMT_C]
,[ABAL06_LOC_TYP_C]
,[ABAD01_CNTNR_LOC_X]
,[ABAD01_CNTNR_K]
,[ABAD01_PARNT_CNTNR_K]
,[ABAD01_CRT_S]
,[ABAD01_CRT_CDSID_C]
,[ABAD01_LST_UPDT_S]
,[ABAD01_LST_UPDT_CDSID_C])
( SELECT
(
([ABAL01_CNTNR_TYP_C]
,[ABAL02_ZONE_C]
,[ABAL03_ENVMT_C]
,[ABAL06_LOC_TYP_C]
,[ABAE01_CNTNR_LOC_X]
) FROM GABAE01_INFA_CNTNR WHERE ABAE01_INFA_CNTNR_K = 'DB_000000')
,'TBL_000000'
,'DB_000000'
,CURRENT_TIMESTAMP
,'webd'
,CURRENT_TIMESTAMP
,'webd')
GO
答案 0 :(得分:3)
是的,只需将它们放入SELECT
列表中:
INSERT INTO [dbo].[GABAD01_CNTNR] (
[ABAL01_CNTNR_TYP_C]
,[ABAL02_ZONE_C]
,[ABAL03_ENVMT_C]
,[ABAL06_LOC_TYP_C]
,[ABAD01_CNTNR_LOC_X]
,[ABAD01_CNTNR_K]
,[ABAD01_PARNT_CNTNR_K]
,[ABAD01_CRT_S]
,[ABAD01_CRT_CDSID_C]
,[ABAD01_LST_UPDT_S]
,[ABAD01_LST_UPDT_CDSID_C])
SELECT
[ABAL01_CNTNR_TYP_C]
,[ABAL02_ZONE_C]
,[ABAL03_ENVMT_C]
,[ABAL06_LOC_TYP_C]
,[ABAE01_CNTNR_LOC_X]
,'TBL_000000'
,'DB_000000'
,CURRENT_TIMESTAMP
,'webd'
,CURRENT_TIMESTAMP
,'webd'
FROM GABAE01_INFA_CNTNR
WHERE ABAE01_INFA_CNTNR_K = 'DB_000000'
答案 1 :(得分:2)
在选择列表中包含硬编码值:
INSERT INTO [dbo].[GABAD01_CNTNR]
(
[ABAL01_CNTNR_TYP_C]
,[ABAL02_ZONE_C]
,[ABAL03_ENVMT_C]
,[ABAL06_LOC_TYP_C]
,[ABAD01_CNTNR_LOC_X]
,[ABAD01_CNTNR_K]
,[ABAD01_PARNT_CNTNR_K]
,[ABAD01_CRT_S]
,[ABAD01_CRT_CDSID_C]
,[ABAD01_LST_UPDT_S]
,[ABAD01_LST_UPDT_CDSID_C]
)
SELECT
[ABAL01_CNTNR_TYP_C]
,[ABAL02_ZONE_C]
,[ABAL03_ENVMT_C]
,[ABAL06_LOC_TYP_C]
,[ABAE01_CNTNR_LOC_X]
,'TBL_000000'
,'DB_000000'
,CURRENT_TIMESTAMP
,'webd'
,CURRENT_TIMESTAMP
,'webd'
FROM GABAE01_INFA_CNTNR WHERE ABAE01_INFA_CNTNR_K = 'DB_000000'
答案 2 :(得分:2)
在select
:
INSERT INTO [dbo].[GABAD01_CNTNR] ( . . . )
SELECT [ABAL01_CNTNR_TYP_C],
[ABAL02_ZONE_C],
[ABAL03_ENVMT_C],
[ABAL06_LOC_TYP_C],
[ABAE01_CNTNR_LOC_X],
'TBL_000000',
'DB_000000',
CURRENT_TIMESTAMP,
'webd',
CURRENT_TIMESTAMP,
'webd'
FROM GABAE01_INFA_CNTNR
WHERE ABAE01_INFA_CNTNR_K = 'DB_000000';
您的额外括号不以任何方式帮助查询。我使用. . .
缩短了列,因此您可以更轻松地查看select
部分。