0
5 개의 열이 포함 된 임시 테이블이 있습니다. 기존 테이블에서 4 개의 열을 얻었으므로 select 문과 함께 insert를 사용하면 잘 작동합니다.매개 변수가있는 exec의 업데이트 문 - 잘못된 열 오류
그러나 채워지지 않은 열은 기본적으로 매개 변수 값인 문자열이어야합니다. 삽입 후에 간단한 업데이트 문을 실행하려고하는데 잘못된 열 오류가 발생합니다.
일부 코드는 다음과 같습니다. 이 시점에서 매개 변수는 이미 각각의 값으로 채워져 있습니다.
exec ('CREATE TABLE ' + @temp_table_runID + '(
[DBName] [nvarchar] (100),
[RunID] [bigint] ,
[OrchID] [bigint] ,
[OrchVersion] [bigint] ,
[TimeStamp] [bigint]
) ON [PRIMARY]')
--exec('select * from ' + @temp_table_runID)
-- Insert from the primary database
exec(' INSERT INTO ' + @temp_table_runID + '
(
[RunID],
[OrchID] ,
[OrchVersion] ,
[TimeStamp]
)
SELECT R.RunID, R.OrchID, R.OrchVersion, R.TimeStamp
FROM ' + @primaryDB + '.dbo.Run R, ' + @primaryDB + '.dbo.SeriesVariables S
WHERE S.SeriesVariables_Value = ''SplitSystemTest2''
AND S.Series_ID = R.RunID order by R.Timestamp ASC')
-- The below statement does not work and get an error invalid column name 'reportingdb_24feb14'. The value of the @primaryDB = reportingdb_24feb14.
-- update the table with database name
exec('update ' + @temp_table_runID + ' SET DBName = ' + @primaryDB)
도움을 주시면 대단히 감사하겠습니다. 감사.
그것은 좋은 대답입니다. 그것은 작동합니다. 고맙습니다. – Abe
나는 별개의 update 문 대신에 어쨌든 거기에 있는지 궁금하다. insert 문에 DBName 값을 삽입 할 수 있습니다. 고맙습니다. – Abe
나는 단순히 '' '+ @primaryDB +' ''를 선택했다. 위의 그림과 같이 어쩌면 어쩌면 매력처럼 작동한다. 별도의 업데이트 성명서가 필요 없습니다. 건배. – Abe