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

T-SQL динамични SQL и Temp таблици

Първо трябва да създадете вашата таблица, след което тя ще бъде налична в динамичния SQL.

Това работи:

CREATE TABLE #temp3 (id INT)
EXEC ('insert #temp3 values(1)')

SELECT *
FROM #temp3

Това няма да работи:

EXEC (
        'create table #temp2 (id int)
         insert #temp2 values(1)'
        )

SELECT *
FROM #temp2

С други думи:

  1. Създаване на временна таблица
  2. Изпълнете процедура
  3. Изберете от временната таблица

Ето пълен пример:

CREATE PROC prTest2 @var VARCHAR(100)
AS
EXEC (@var)
GO

CREATE TABLE #temp (id INT)

EXEC prTest2 'insert #temp values(1)'

SELECT *
FROM #temp


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Кога сортирането на SQL Server се пренавива?

  2. Автоматизиране на дефрагментацията на индекса в базата данни на MS SQL Server

  3. Как да върнете подниз от низ в SQL Server с помощта на функцията SUBSTRING().

  4. SQL грешка:Неправилен синтаксис близо до ключовата дума „Потребител“

  5. Преобразувайте „smalldatetime“ в „datetimeoffset“ в SQL Server (T-SQL примери)