Sql 从存储过程返回值
我有一个主程序,在这个SP中它执行以下代码:Sql 从存储过程返回值,sql,sql-server,sql-server-2005,Sql,Sql Server,Sql Server 2005,我有一个主程序,在这个SP中它执行以下代码: EXEC @PropertyID = [import].[spInsertIntoTblMemberProperties] blah blah blah 然后在我的spInsertIntoTblMemberProperties中显示以下两行代码: select SCOPE_IDENTITY() as 'MemberPropertyID'; (if it is a new property) select MemberPropertyID as 'M
EXEC @PropertyID = [import].[spInsertIntoTblMemberProperties]
blah blah blah
然后在我的spInsertIntoTblMemberProperties中显示以下两行代码:
select SCOPE_IDENTITY() as 'MemberPropertyID'; (if it is a new property)
select MemberPropertyID as 'MemberPropertyID'; (if it is an existing property)
from blah blah blah
然而,这并不能使@PropertyID等于'MemberPropertID',我想知道我该怎么做
谢谢,
丹你需要回来按自己的方式做 但这并不理想:这应该保留为状态 我会使用一个输出参数
CREATE PROC ...
@PropertyID int OUTPUT
AS
...
select @PropertyID = SCOPE_IDENTITY() as 'MemberPropertyID'; (if it is a new property)
...
select @PropertyID = MemberPropertyID as 'MemberPropertyID'; (if it is an existing property)
from blah blah blah
...
GO
EXEC [import].[spInsertIntoTblMemberProperties] @PropertyID OUTPUT
技术差异示例:您需要返回以自己的方式进行操作 但这并不理想:这应该保留为状态 我会使用一个输出参数
CREATE PROC ...
@PropertyID int OUTPUT
AS
...
select @PropertyID = SCOPE_IDENTITY() as 'MemberPropertyID'; (if it is a new property)
...
select @PropertyID = MemberPropertyID as 'MemberPropertyID'; (if it is an existing property)
from blah blah blah
...
GO
EXEC [import].[spInsertIntoTblMemberProperties] @PropertyID OUTPUT
技术差异示例:为什么有两个选择?因为一个用于创建新属性时,另一个用于更新属性时。行刑时只有一个人被碰过感谢你的精准。当我读到你的消息时我很累…为什么你有两个选择?因为一个用于创建新属性时,另一个用于更新属性时。行刑时只有一个人被碰过感谢你的精准。当我读到你的留言时我很累。。。