Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.10.31;
Скачать: [xml.tar.bz2];

Вниз

Временные таблицы в функциях   Найти похожие ветки 

 
NewDelpher ©   (2004-10-04 15:35) [0]

MS SQL не разрешает создавать временные таблицы в хранимых функциях, а у меня есть запрос, использующий временные таблицы и мне нужно его поместить в функцию. В Stored Procedure такое возможно, но как сделать, чтобы она возвращала таблицу?..


 
Fay ©   (2004-10-04 15:39) [1]

>> MS SQL не разрешает создавать временные таблицы в хранимых функциях
Это очень спорное утверждение. Откуда такая информация? Вы сами проверяли? Думаю, нет.


 
Ega23 ©   (2004-10-04 15:41) [2]

Она тебе набор данных возвратит.

1. Можешь временные таблицы ##ttt типа использовать - они "живут" пока сервер не перезапустят
2. Можешь временные таблицы #ttt типа использовать, если всё в рамках одной транзакции.


 
NewDelpher ©   (2004-10-04 15:50) [3]

в функции пишу:

SELECT number INTO #tmp_numbs
FROM mytable WHERE status= 1 and datenumb = @date_numb

при проверке синтаксиса
выдает:
Cannot accsess temporary tables from within a function


 
Polevi ©   (2004-10-04 15:50) [4]

>MS SQL не разрешает создавать временные таблицы в хранимых функциях

не разрешаются DDL выражения,
заменяй CREATE TABLE #T(...) на DECLARE @T TABLE (..)


 
NewDelpher ©   (2004-10-04 15:58) [5]


> не разрешаются DDL выражения,
> заменяй CREATE TABLE #T(...) на DECLARE @T TABLE (..)

тогда так мой запрос будет выглядеть:

SELECT number INTO @tmp_numbs
FROM mytable WHERE status= 1 and datenumb = @date_numb


 
Fay ©   (2004-10-04 16:03) [6]

Почему бы не почитать BOL?


 
NewDelpher ©   (2004-10-04 16:08) [7]


> Fay ©   (04.10.04 16:03) [6]
> Почему бы не почитать BOL?

Почитал, только не понял, их удалять получается не надо при выходе из функции?


 
Nikolay M. ©   (2004-10-04 16:14) [8]


> Почитал, только не понял, их удалять получается не надо
> при выходе из функции?

@T TABLE (..) - это не таблица, а переменные табличного типа, поэтому удалять их не нужно.


 
NewDelpher ©   (2004-10-04 16:17) [9]

спасибо, разобрался


 
Polevi ©   (2004-10-04 16:24) [10]

>Nikolay M. ©   (04.10.04 16:14) [8]
нет таблица :)


 
Nikolay M. ©   (2004-10-04 17:25) [11]


> Polevi ©   (04.10.04 16:24) [10]

Аргументы? DECLARE @T TABLE (...) просто по конструкции декларирует переменную и в БОЛ о DECLARE TABLE написано:

Defines the table data type. The table declaration includes column definitions, names, data types, and constraints. The only constraint types allowed are PRIMARY KEY, UNIQUE KEY, NULL, and CHECK.


 
Polevi ©   (2004-10-05 11:27) [12]

внутрях все равно это временная таблица

DECLARE @T TABLE (ID INT PRIMARY KEY CLUSTERED)
INSERT @T SELECT 1
INSERT @T SELECT 1


 
Nikolay M. ©   (2004-10-05 11:36) [13]


> Polevi ©   (05.10.04 11:27) [12]

Где конкретно внутрях? В оперативке? В темпдб не увидел.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.10.31;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.041 c
3-1096872920
mid
2004-10-04 10:55
2004.10.31
настройка памяти SGA oracle


1-1097737737
Senti
2004-10-14 11:08
2004.10.31
Как принудительно убрать HScrollBar в ListView


1-1097829182
doodle
2004-10-15 12:33
2004.10.31
Как создать собственный графический интерфейс.


3-1096451194
Openfire
2004-09-29 13:46
2004.10.31
Too many open tables


1-1097693549
volser
2004-10-13 22:52
2004.10.31
Левый и правый alt, ctrl, shift





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский