Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Объясните по табличным параметрам  [new]
Larr`
Member

Откуда: у парня сирийская грусть?
Сообщений: 748
Извините, нигде не нашёл, почему такое нельзя сделать:

CREATE TYPE dbo.TableType AS TABLE
    ( id1 INT, Val INT )
GO

CREATE FUNCTION [dbo].[testfunc](@a as dbo.TableType READONLY, @b as dbo.TableType READONLY) returns int
AS
BEGIN
DECLARE @x as int
SELECT @x=COUNT(*) FROM @a 
INNER JOIN @b
 ON @b.id1 = @a.id1
return @x
END
GO


Почему просто написать SELECT @x=COUNT(*) FROM @a можно, а заджойнить две переменные табличного типа - сразу пишет
Сообщение 137, уровень 16, состояние 1, процедура testfunc, строка 7
Необходимо объявить скалярную переменную "@b".
Сообщение 137, уровень 16, состояние 1, процедура testfunc, строка 7
Необходимо объявить скалярную переменную "@a".
13 мар 12, 20:58    [12242811]     Ответить | Цитировать Сообщить модератору
 Re: Объясните по табличным параметрам  [new]
iljy
Member

Откуда:
Сообщений: 8711
Larr`,

псевдонимы используйте. Или квадратные скобки, но псевдонимы правильней.
13 мар 12, 21:01    [12242828]     Ответить | Цитировать Сообщить модератору
 Re: Объясните по табличным параметрам  [new]
invm
Member

Откуда: Москва
Сообщений: 9833
CREATE FUNCTION [dbo].[testfunc](@a as dbo.TableType READONLY, @b as dbo.TableType READONLY) returns int
AS
BEGIN
DECLARE @x as int
SELECT @x=COUNT(*) FROM @a a
INNER JOIN @b b
 ON b.id1 = a.id1
return @x
END
GO
13 мар 12, 21:04    [12242838]     Ответить | Цитировать Сообщить модератору
 Re: Объясните по табличным параметрам  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
Larr`,

SELECT @x=COUNT(*) FROM @a a
INNER JOIN @b b
 ON b.id1 = a.id1

?
13 мар 12, 21:05    [12242840]     Ответить | Цитировать Сообщить модератору
 Re: Объясните по табличным параметрам  [new]
Larr`
Member

Откуда: у парня сирийская грусть?
Сообщений: 748
Спасибо за быстрые ответы, господа.
13 мар 12, 21:08    [12242850]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить