Главная страница
    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.037 c
14-1097693202
Gero_
2004-10-13 22:46
2004.10.31
Смерть винды


6-1093338639
Дмитрий Ботвин
2004-08-24 13:10
2004.10.31
Получение списка файлов с ftp-сервера


8-1091299499
parovoZZ
2004-07-31 22:44
2004.10.31
IDirectDrawSurface7._Release и Alt+F4


10-1046694573
AlexanderSK
2003-03-03 15:29
2004.10.31
WebSnap (Midas) - сервер


3-1096978437
Gennady
2004-10-05 16:13
2004.10.31
Master/Detail ClientDatSet





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский