Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Использование UDF и EXEC. Help! / 5 сообщений из 5, страница 1 из 1
12.11.2002, 10:09:24
    #32066768
AD
AD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование UDF и EXEC. Help!
Как можно в UDF получить результат выполнения строковой переменной?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
create table dbo.test (ID int IDENTITY( 1 , 1 ), Formula varchar( 100 ))
go
insert into dbo.test (Formula) values('1 + 1')
insert into dbo.test (Formula) values('power(2, 2) - 2')
insert into dbo.test (Formula) values('sqrt(9) - 1')
insert into dbo.test (Formula) values('log10(10) + 1')
go
create function dbo.Calc(@Formula varchar( 100 ))
returns real AS
BEGIN
  declare @Result real
  set @Formula = 'select ' + @Formula
  select @Result = Res from openquery(SERVER, 'exec @Formula')  -- Must declare the variable @Formula
 
  select @Result = Res from openquery(SERVER, @Formula)  --Incorrect syntax near @Formula
 
  exec sp_executesql @Formula, N'@Result real out', @Result = @Result out  -- Only functions and extended stored procedures can be executed from within a function.
 
  return @Result
END
GO
select ID, dbo.Calc(Formula) from dbo.test
go
drop function dbo.Calc
go
drop table dbo.test
go

Буду благодарен за любые вариенты решения.
...
Рейтинг: 0 / 0
12.11.2002, 10:51:23
    #32066801
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование UDF и EXEC. Help!
Буду благодарен за любые вариенты решения
- Курсор + sp_executesql
- extended stored procedures
...
Рейтинг: 0 / 0
12.11.2002, 11:50:04
    #32066838
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование UDF и EXEC. Help!
sp_executesql внутри UDF не работает. Только написание собственной Extended Stored Procedure.
...
Рейтинг: 0 / 0
12.11.2002, 13:31:02
    #32066910
AD
AD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование UDF и EXEC. Help!
2Glory
"- Курсор + sp_executesql " - имеется ввиду через создание SP, в которой "- Курсор + sp_executesql "?
"- extended stored procedures" - это работает, но как передать туда пароль пользователя?
P.S. Как-то проскакивало в форуме сообщение от Вас, что можно в OPENQUERY передавать параметры через временные таблицы. Не подскажете как?
...
Рейтинг: 0 / 0
12.11.2002, 20:05:35
    #32067173
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование UDF и EXEC. Help!
1. Да, именно это и имеется ввиду

2. но как передать туда пароль пользователя
Это вы про что ? Зачем его туда передавать ? И про какой вообще пароль идет речь ?

3. Что вроде такого

Код: plaintext
1.
2.
3.
4.
5.
6.
create table ##t(f1 int)
go
insert ##t values( 11 )
select * from ##t
select * from openquery(myself, 'select * from ##t')
drop table ##t
go
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Использование UDF и EXEC. Help! / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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