powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Использование UDF и EXEC. Help!
5 сообщений из 5, страница 1 из 1
Использование UDF и EXEC. Help!
    #32066768
AD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AD
Гость
Как можно в 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
Использование UDF и EXEC. Help!
    #32066801
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Буду благодарен за любые вариенты решения
- Курсор + sp_executesql
- extended stored procedures
...
Рейтинг: 0 / 0
Использование UDF и EXEC. Help!
    #32066838
Фотография ziktuw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sp_executesql внутри UDF не работает. Только написание собственной Extended Stored Procedure.
...
Рейтинг: 0 / 0
Использование UDF и EXEC. Help!
    #32066910
AD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AD
Гость
2Glory
"- Курсор + sp_executesql " - имеется ввиду через создание SP, в которой "- Курсор + sp_executesql "?
"- extended stored procedures" - это работает, но как передать туда пароль пользователя?
P.S. Как-то проскакивало в форуме сообщение от Вас, что можно в OPENQUERY передавать параметры через временные таблицы. Не подскажете как?
...
Рейтинг: 0 / 0
Использование UDF и EXEC. Help!
    #32067173
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Использование UDF и EXEC. Help!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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