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

Откуда:
Сообщений: 168
Есть таблица TableName, в которой 2 поля @Name, @NameNew.
Есть функция
FUNCTION ComparationValue (
	 @First	 VarChar(8000)
	,@Second	VarChar(8000)
) RETURNS TABLE AS ......


которая в итоге выводит табличку с 3 полями. В первом и во втором полях значения @First, @Second, а в третьем значение 0 и 1 (совпадают или различаются).

Необходимо применить функцию ComparationValue к таблице TableName для сравнения полей @Name и @NameNew.

Я написала вот такой скрипт, но вывод на экран получился не в одну таблицу, а несколько таблиц, в каждой из которой по одной строке. почему так, я понимаю, но не знаю что поменять.
DECLARE  @Name		VarChar(250)
	,@NameNew	VarChar(250)
		
DECLARE  Comparation CURSOR FOR
SELECT   D.IDNP
	,D.Name					AS Name
	,NameNew	AS NameNew
FROM TableName D

OPEN Comparation
  FETCH NEXT FROM Comparation
  INTO @Name, @NameNew 

WHILE @@FETCH_STATUS = 0
BEGIN
 
  FETCH NEXT FROM Comparation
  INTO @Name, @NameNew 
  
  SELECT * FROM ProcedureName(@Name,@NameNew) 
END
CLOSE Comparation
DEALLOCATE Comparation
GO

Помогите пожалуйста
26 июл 13, 11:25    [14620691]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение данных  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3422
Len4ick,

select *
from dbo.TableName t
  cross apply dbo.ComparationValue(t.Name, t.NewName) ca;
26 июл 13, 11:29    [14620730]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение данных  [new]
_djХомяГ
Guest
1 функцию запускайте в select, курсор не нужен
2 да и функция не нужна - длацйте все в select'e
26 июл 13, 11:31    [14620750]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение данных  [new]
Len4ick
Member

Откуда:
Сообщений: 168
Спасибо
26 июл 13, 11:50    [14620960]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить