Конференция "Базы" » Работа с типом данных TABLE [MSSQL]
 
  • harisma (04.03.08 14:13) [0]
    Кто подскажет, почему не работает такой код:

    declare @tbl TABLE(RECID varchar(16))
    select D.RECID into @tbl
    FROM dictionaries_C3AD665D2FD8E140 as D


    ?
  • Sergey13 © (04.03.08 14:14) [1]
    > [0] harisma   (04.03.08 14:13)
    > почему не работает такой код:

    А как он не работает?
  • harisma (04.03.08 14:19) [2]
    Server: Msg 170, Level 15, State 1, Line 2
    Line 2: Incorrect syntax near '@tbl'.
  • harisma (04.03.08 14:19) [3]
    У меня MSSQL 2000
  • Johnmen © (04.03.08 14:20) [4]
    А где он не работает?
  • clickmaker © (04.03.08 14:45) [5]
    может, поэтому:

    The SELECT INTO statement creates a new table and populates it with the result set of the SELECT. The structure of the new table is defined by the attributes of the expressions in the select list

    ...

    Within its scope, a table variable may be used like a regular table. It may be applied anywhere a table or table expression is used in SELECT, INSERT, UPDATE, and DELETE statements. However, table may not be used in the following statements:
    INSERT INTO table_variable EXEC stored_procedure

    SELECT select_list INTO table_variable statements

    (c) BOL
  • Ega23 © (04.03.08 14:59) [6]
    Потому, что
    Insert into @tbl (recID)
     Select D.recID  FROM dictionaries_C3AD665D2FD8E140 as D

  • harisma (04.03.08 15:42) [7]
    А можно как-то без команды INSERT мою проблему решить?
  • Павел Калугин © (04.03.08 16:07) [8]

    > А можно как-то без команды INSERT мою проблему решить?

    можно. тогда лишнее
    declare @tbl TABLE(RECID varchar(16))



    достаточно просто
    select D.RECID into #tbl
    FROM dictionaries_C3AD665D2FD8E140 as D

 
Конференция "Базы" » Работа с типом данных TABLE [MSSQL]
Есть новые Нет новых   [134431   +14][b:0][p:0.001]