0
모든 데이터베이스를 반복하고 데이터베이스 당 1 레코드를 표시하는 커서를 만들었습니다.sql 커서가 결과를 테이블에 삽입
내가 볼 수있는 테이블에 레코드를 삽입하고 싶습니다. 쿼리가 변경되어 특정 쿼리에 대한 테이블 구조를 만들고 삽입하고 싶지 않은 이유가있을 수 있습니다. 나는 이 절 "로 선택"을 사용하고 싶어하지만 커서가
DECLARE @DB_Name varchar(100)
DECLARE @Command nvarchar(200)
DECLARE database_cursor CURSOR FOR SELECT name FROM #DBNAME
OPEN database_cursor
FETCH NEXT FROM database_cursor INTO @DB_Name
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @Command = 'use [' + @DB_Name + '] Select '''+ @DB_Name + ''' ,'+
--Enter query below
'* from authentication where username like ''%[email protected]%'' and password = ''Rohan2410'''
-- print @Command
EXEC sp_executesql @Command
FETCH NEXT FROM database_cursor INTO @DB_Name
END
CLOSE database_cursor
DEALLOCATE database_cursor
여기서 무엇을하려고하는지 명확하지 않습니다. 나는 모든 데이터베이스를 살펴볼 부분을 얻었다. 그러나 그 후에 그것은 말이되지 않습니다. select into를 언급했지만 코드에는 포함되어 있지 않습니다. 그리고 진정으로 당신은 이것을위한 커서가 필요 없습니다. 동적 SQL을 다른 방식으로 활용할 수 있습니다. 원하는 결과물을 설명 할 수 있다면 지금 내가 말하는 것을 보여줄 것입니다. –
'Use db'문도 필요 없습니다. tabname을 dbname.dbo.tablename 구문으로 한정하면됩니다. –
Do not Use ** "select into"조항이 자동으로 새 테이블이 만들어 지므로 "select into"절이 자동으로 만들어 지므로 다음 번에 엔진이 생성하려는 테이블 이름 때문에 쿼리가 실패합니다 이미 존재합니다. 임시 테이블에 삽입하여 다른 방법으로 이동 한 다음 커서가 끝난 후 임시 테이블의 데이터를 SELECT INTO를 통해 새 테이블에 삽입합니다. –