我需要创建一个将返回记录的存储过程(多个记录)。我想返回AccountID,FirstName,LastName&电子邮件。
例如,我使用AccountID字段比较两个表。 所以目前我的查询是:
选择AccountID,FirstName,LastName,电子邮件 来自tblCustomers AccountID不在的地方 (从tblVendors中选择AccountID)
答案 0 :(得分:0)
您可以根据需要在存储过程中选择语句,然后根据您使用的语言,您可以遍历结果集以获取数据。
希望有所帮助,
约什
答案 1 :(得分:0)
不确定您的问题是什么......但您可以使用
创建该过程CREATE PROCEDURE dbo.spGetNonVendors
AS
BEGIN
Select AccountID, FirstName, LastName, email
from tblCustomers Where AccountID not in (select AccountID from tblVendors)
END
请参阅此处了解创建的存储过程的语法:
http://msdn.microsoft.com/en-us/library/ms187926.aspx
至于如何获取输出,您应该知道存储过程实际上有三种不同的输出源:
如果查看我引用的页面上的文档,您将看到如何声明输出变量。这些对单个值很有用,但不适合你在这里寻找的东西。
结果集只是您在过程中碰巧运行的任何select语句。正如你从这里的答案中看到的那样,没有什么特别的事情要做,只需执行选择。
最后,消息输出包含错误消息,打印语句等。
现在,如何获得您的选择输出取决于您的客户端。你是如何连接到SQL Server并执行该过程的?如果您正在使用Sql Management studio,您将看到结果集和消息的两个选项卡。如果您正在使用C#,SqlDataAdapter或SqlDataReader将自动从您的结果集中读取。
答案 2 :(得分:0)
CREATE PROCEDURE Procedurename
AS
BEGIN
Select AccountID, FirstName, LastName, email
from tblCustomers
where AccountID not in (select AccountID from tblVendors)
END
答案 3 :(得分:0)
所以,只需将其放入程序中:
create procedure CompareCustomers
as
select AccountID, FirstName, LastName, email
from tblCustomers
where AccountID not in (select AccountID from tblVendors)
但我更喜欢加入“不在”:
create procedure CompareCustomers
as
select c.AccountID, c.FirstName, c.LastName, c.email
from tblCustomers c
left join tblVendors v on v.AccountID = c.AccountID
where v.AccountID is null