Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да създадете динамични SQL заявки в CURSOR

В курсора трябва отново да изпълните своя xml файл с xml изходна декларация.

DECLARE @id VARCHAR(25)

declare @loc varchar(25)
set @loc = '/MainItem/SubItem';

declare @query varchar(max) 

DECLARE myCursor CURSOR LOCAL FAST_FORWARD FOR
     SELECT * FROM @tempcolumnname

OPEN myCursor
FETCH NEXT FROM myCursor INTO @id

WHILE @@FETCH_STATUS = 0 
BEGIN
    set @query = 'DECLARE @hdoc INT;           
    EXEC sp_xml_preparedocument @hdoc OUTPUT,'''+ @info+'''
        Select Statement
        Insert Statement exec (@query)      

    FETCH NEXT FROM myCursor INTO @id       
END

CLOSE myCursor
DEALLOCATE myCursor


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Предоставяне Изберете на изглед, а не на основна таблица, когато основната таблица е в друга база данни

  2. SQL за генериране на XML на таблични данни

  3. Как да генерирате скриптове за повторно създаване на ограничения за външни ключове в база данни на SQL Server - SQL Server / TSQL Урок, част 73

  4. Избягвайте дублирането в заявката INSERT INTO SELECT в SQL Server

  5. Конфигурации с обхват на базата данни на SQL Server и автоматична корекция на план