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

Използване на временни таблици в изрази IF .. ELSE

Можете да създадете празна временна таблица с желаната структура, като използвате WHERE 1=0 . След това вмъкнете желаните записи с вашия оригинален код

SELECT colx INTO #temp1 
FROM   @tbl 
WHERE  1 = 0  // this is never true

IF @checkvar  IS NULL
BEGIN 
    INSERT INTO #temp1 (colName)   
    SELECT colx FROM @tbl 
END
ELSE 
BEGIN 
    INSERT INTO #temp1 (colName)   
    SELECT colx 
    FROM   @tbl 
    WHERE  colx = @checkvar 
END


  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 заявка за генериране на матрица като таблица, свързана с изходни заявки в SQL Server

  2. Операторът Datetime BETWEEN не работи в SQL Server

  3. Как да намеря границите на групи от последователни последователни числа?

  4. Намерете нечислови стойности в колона в SQL Server

  5. Как да прехвърлите varchar към XML в заявка OUTER APPLY