[英]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.