Sql 如何将临时表添加到另一个具有额外列的临时表
我希望将数据从#EmPcodes temp表获取到#pArrangeAllcode 但它有一个额外的列,我以后会用到它。。。我总是会遇到这样的错误:Sql 如何将临时表添加到另一个具有额外列的临时表,sql,sql-server,dynamic-sql,Sql,Sql Server,Dynamic Sql,我希望将数据从#EmPcodes temp表获取到#pArrangeAllcode 但它有一个额外的列,我以后会用到它。。。我总是会遇到这样的错误: CREATE TABLE #EmpPcodes ( YearMonth INT, YEAR INT, MONTH INT, RunNo INT, Amount NUMERIC(18, 3), GroupCode
CREATE TABLE #EmpPcodes
(
YearMonth INT,
YEAR INT,
MONTH INT,
RunNo INT,
Amount NUMERIC(18, 3),
GroupCode NvarCHAR(30),
GroupName NvarCHAR(250),
GroupAName NvarCHAR(250),
PayrollGroup INT,
EmployeeId INT
)
CREATE TABLE #pArrangeAllcode
(
YearMonth INT,
YEAR INT,
MONTH INT,
RunNo INT,
Amount NUMERIC(18, 3),
GroupCode NvarCHAR(30),
GroupName NvarCHAR(250),
GroupAName NvarCHAR(250),
PayrollGroup INT,
EmployeeId INT,
CodeArrange INT
)
INSERT INTO #pArrangeAllcode
SELECT YearMonth, YEAR, MONTH, RunNo, Amount, GroupCode, GroupName,
GroupAName, PayrollGroup, EmployeeId,
FROM dbo.#EmpPcodes
SELECT * FROM #pArrangeAllcode
有什么帮助吗?使用下面的查询插入记录
Insert Error: Column name or number of supplied values does not match table definition.
使用下面的查询插入记录
Insert Error: Column name or number of supplied values does not match table definition.
实际上,insert语句中缺少一列,这也需要一些值: 使用以下命令:
INSERT INTO #pArrangeAllcode
SELECT YearMonth, YEAR, MONTH, RunNo, Amount, GroupCode, GroupName,
GroupAName, PayrollGroup, EmployeeId,NULL
FROM dbo.#EmpPcodes
实际上,insert语句中缺少一列,这也需要一些值: 使用以下命令:
INSERT INTO #pArrangeAllcode
SELECT YearMonth, YEAR, MONTH, RunNo, Amount, GroupCode, GroupName,
GroupAName, PayrollGroup, EmployeeId,NULL
FROM dbo.#EmpPcodes
CodeArrange
是#pArrangeAllcode
表中存在的额外列。由于它是notnull
column,因此可以跳过insert块中的特定列名,并在insert语句中明确提及列名
INSERT INTO #pArrangeAllcode
SELECT YearMonth, YEAR, MONTH, RunNo, Amount, GroupCode, GroupName,
GroupAName, PayrollGroup, EmployeeId,NULL
FROM dbo.#EmpPcodes
或者,如果要在codearange
列中存储一些伪值,则传递NULL
INSERT INTO #pArrangeAllcode (YearMonth, YEAR, MONTH, RunNo, Amount, GroupCode, GroupName, GroupAName, PayrollGroup, EmployeeId)
SELECT YearMonth, YEAR, MONTH, RunNo, Amount, GroupCode, GroupName, GroupAName, PayrollGroup, EmployeeId
FROM #EmpPcodes
CodeArrange
是#pArrangeAllcode
表中存在的额外列。由于它是notnull
column,因此可以跳过insert块中的特定列名,并在insert语句中明确提及列名
INSERT INTO #pArrangeAllcode
SELECT YearMonth, YEAR, MONTH, RunNo, Amount, GroupCode, GroupName,
GroupAName, PayrollGroup, EmployeeId,NULL
FROM dbo.#EmpPcodes
或者,如果要在codearange
列中存储一些伪值,则传递NULL
INSERT INTO #pArrangeAllcode (YearMonth, YEAR, MONTH, RunNo, Amount, GroupCode, GroupName, GroupAName, PayrollGroup, EmployeeId)
SELECT YearMonth, YEAR, MONTH, RunNo, Amount, GroupCode, GroupName, GroupAName, PayrollGroup, EmployeeId
FROM #EmpPcodes
简单规则:在使用
insert
时,请始终列出所有列。因此,我必须在insert中插入CodeArrange中的值!问题是我有一个来自#EmpCodes的update语句来将它们添加到新的临时表中#pArrangeAllcodeTag所使用的dbms。简单规则:在使用insert
时,始终列出所有列。因此我必须在insert中插入CodeArrange中的值!问题是我有一个来自#EmpCodes的update语句,将它们添加到新的temp表#pArrangeAllcodeTag中,以标记所使用的dbms。