Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Почему в 2000 SQL в функциях нельзя использовать времянки? :( / 3 сообщений из 3, страница 1 из 1
24.10.2001, 15:00
    #32015930
Hermit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в 2000 SQL в функциях нельзя использовать времянки? :(
Так правильно?

переходить на тип данных Table
...
Рейтинг: 0 / 0
24.10.2001, 15:33
    #32015934
tabloid
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в 2000 SQL в функциях нельзя использовать времянки? :(
Можно, просто синтаксис немного другой. Например вот так:

CREATE FUNCTION tst1 ()
RETURNS int
AS
BEGIN
declare @tst2 TABLE (Eid int primary key)
insert into @tst2
VALUES(1)
return 11
END
...
Рейтинг: 0 / 0
25.10.2001, 06:40
    #32015961
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в 2000 SQL в функциях нельзя использовать времянки? :(
Выдержка из хелпа:

Use table variables instead of temporary tables, whenever possible. table variables provide the following benefits:

A table variable behaves like a local variable. It has a well-defined scope, which is the function, stored procedure, or batch in which it is declared.
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.

table variables are cleaned up automatically at the end of the function, stored procedure, or batch in which they are defined.

table variables used in stored procedures result in fewer recompilations of the stored procedures than when temporary tables are used.


Transactions involving table variables last only for the duration of an update on the table variable. Thus, table variables require less locking and logging resources.

А временные таблицы нельзя использовать в функциях очевидно из-за того что для их изменения необходимо вести транзакции.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Почему в 2000 SQL в функциях нельзя использовать времянки? :( / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]