【发布时间】:2010-10-01 20:05:41
【问题描述】:
UPDATE users
SET field = my_sp()
在 SQL Server 2005 中。显然我不能这样做,必须使用某种形式的 EXEC。谁能帮助我,让我知道该怎么做?这应该是一些简单的代表。
【问题讨论】:
标签: sql-server sql-server-2005 stored-procedures
UPDATE users
SET field = my_sp()
在 SQL Server 2005 中。显然我不能这样做,必须使用某种形式的 EXEC。谁能帮助我,让我知道该怎么做?这应该是一些简单的代表。
【问题讨论】:
标签: sql-server sql-server-2005 stored-procedures
要赋值,你需要使用 sql 函数。从存储过程中赋值是不可能的。
这是link 的创建方法。
【讨论】:
你需要编写一个标量函数,它接受一些参数(甚至为零)并返回你需要的东西。
【讨论】:
您可以将存储过程的输出存储在临时表中,然后使用该临时表作为更新的基础。例如,下面的代码假设您的 proc 返回一个包含两个整数的记录集。
create table #t (
ColumnA int,
ColumnB int
)
insert into #t
(ColumnA, ColumnB)
exec my_sp
update u
set field = t.ColumnB
from users u
inner join #t t
on u.UserID = t.ColumnA
drop table #t
【讨论】: