繁体   English   中英

存储过程SQL Server

[英]Stored Procedures SQL Server

我创建了一个存储过程,该过程列出了剩余7天会员资格的所有客户。

CREATE PROC spGetMemReminder
AS
    SELECT users.fullname,
           membership.expiryDate
    FROM   membership
           INNER JOIN users
             ON membership.uid = users.uid
    WHERE  CONVERT(VARCHAR(10), expiryDate, 105) =
           CONVERT(VARCHAR(10), ( getdate() + 7 ), 105) 

我想将此列表自动插入到另一个表中。 我该如何实现? 任何建议表示赞赏。 谢谢

删除此:

SELECT * INTO #MyTempTable FROM OPENROWSET('SQLNCLI', 'Server=    (local)\SQL2008;Trusted_Connection=yes;',
 'EXEC getBusinessLineHistory')

由此: 将存储过程的结果插入临时表

Insert into YOUR_TABLE exec("spGetMemReminder")

另一个建议是...不要编写存储过程以插入到临时表中,因为数据将一直在变化。

只需编写一个视图.......即可让您的“报告”使用/使用该视图。

if exists (select * from sysobjects 
    where id = object_id('dbo.vwExpiringMemberships') and sysstat & 0xf = 2)
    drop VIEW dbo.vwExpiringMemberships

GO


/*
select * from dbo.vwExpiringMemberships
*/

CREATE VIEW dbo.vwExpiringMemberships AS  

    SELECT usr.fullname,
           mem.expiryDate
    FROM   dbo.Membership mem
           INNER JOIN dbo.Users usr
             ON mem.uid = usr.uid
    WHERE  CONVERT(VARCHAR(10), expiryDate, 105) =
           CONVERT(VARCHAR(10), ( getdate() + 7 ), 105) 


GO



GRANT  SELECT ,  UPDATE ,  INSERT ,  DELETE  ON  [dbo].[vwExpiringMemberships] TO public
GO

暂无
暂无

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

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