简体   繁体   English

表中的存储过程变量

[英]Stored Procedure variable from table

I would like to set my variable '@Xdate' to the field 'updated' from 'dbo.Mtabel'. 我想将变量“ @Xdate”设置为从“ dbo.Mtabel”更新的字段。

ALTER PROCEDURE [dbo].[SP_Mproc]
(
@snumber nvarchar(50),
@inumber nvarchar(10),
@tdate datetime
)
AS
IF exists (Select snumber, updated FROM dbo.Mtabel Where snumber = @snumber AND inumber = @inumber)
GO
declare  
    @Xdate datetime,
    @sdate datetime

select
    @Xdate = dbo.@updated,
    @Ydate = GETDATE()
SELECT @xdate = updated, @ydate=getdate() FROM dbo.Mtabel WHERE snumber = @snumber AND inumber = @inumber
ALTER PROCEDURE [dbo].[SP_Mproc]
(
    @snumber nvarchar(50),
    @inumber nvarchar(10),
    @tdate datetime
)
AS

declare @Xdate datetime, @Ydate datetime
Select @Xdate = updated, @Ydate = getDate() FROM dbo.Mtabel Where snumber = @snumber AND inumber = @inumber
IF @@ROWCOUNT > 0
BEGIN
  -- @Xdate contains 'updated', @Ydate contains current datetime
  ...
END
GO

This is to prevent you making several calls for the same data. 这是为了防止您多次调用相同的数据。

try this 尝试这个

CREATE TABLE #YourTable
    ( id varchar(50),Date1 Date, Date2 Date)
;

INSERT INTO #YourTable
    (id, Date1, Date2)
VALUES
    ('1','2015-01-10','2015-01-20'),
    ('2','2015-01-20','2015-01-11'),
    ('3','2015-01-15','2014-01-15'),
    ('4','2015-02-18','2016-03-09')
;
--   select * from #YourTable


Declare @Xdate date
select @Xdate= Date2 from #YourTable where Date2 > GETDATE()
print @Xdate

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM