Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: Очень странный глюк SQL. Может быть уже кто-то с этим сталкивался  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6680
invm
TaPaK
CREATE OR ALTER PROCEDURE dbo.Test2
AS
    CREATE TABLE #b (a char);
    SELECT  'a' as a INTO #t
    
    INSERT INTO #b SELECT * FROM #t

    SELECT a FROM #b
    
GO
Какое преимущество у данных манипуляций перед банальным переименованием #t?

msLex
Все это похоже на жуткие костыли.
+100500

какие ж тут преимущества, народ клепает временные таблицы чаще всего с одними и теми же именами, при этом
пользуя SELECT ... INTO <любимое имя>и потом пытаясь работать с названиями полей получают ошибку, и начинается представление...
11 июл 19, 16:05    [21925055]     Ответить | Цитировать Сообщить модератору
 Re: Очень странный глюк SQL. Может быть уже кто-то с этим сталкивался  [new]
Katrine_S
Member

Откуда:
Сообщений: 12
invm
TaPaK,

А если так:
CREATE OR ALTER PROCEDURE dbo.Test2
AS
SELECT 'aaa' as a INTO #t
SELECT a FROM #t
GO

А можно объяснить что не так с данным кодом? Никогда не создавала временные таблицы данным способом, но недавно в чужом коде увидела нечто подобное.


TaPaK
CREATE OR ALTER PROCEDURE dbo.Test2
AS
    CREATE TABLE #b (a char);
    SELECT  'a' as a INTO #t
    
    INSERT INTO #b SELECT * FROM #t

    SELECT a FROM #b
    
GO


А почему нельзя просто так:
CREATE OR ALTER PROCEDURE dbo.Test2
AS
    CREATE TABLE #b (a char);
     
    INSERT INTO #b  SELECT  'a'

    SELECT a FROM #b
    
GO
12 июл 19, 08:05    [21925389]     Ответить | Цитировать Сообщить модератору
 Re: Очень странный глюк SQL. Может быть уже кто-то с этим сталкивался  [new]
invm
Member

Откуда: Москва
Сообщений: 8838
Katrine_S
А можно объяснить что не так с данным кодом?
Выполните пример с предложенной модификацией - 21925005

Katrine_S
А почему нельзя просто так
Можно.
А теперь представьте, что столбцов 100500.
Что проще: написать create table на 100500 столбцов или select * into ... from ... ?
12 июл 19, 09:09    [21925420]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / Microsoft SQL Server Ответить