嗨朋友们的要求是使用存储过程我应该从视图中返回所有值。
目前我们正在使用storedprocedure来返回表中给出的所有值,
CREATE PROCEDURE [dbo].[SuperGas_GetAllEmployees]
AS
BEGIN
SELECT [Employee ID]
,[First Name]
,[Last Name]
,[Group]
,[Location]
,[DOB]
,[DOJ]
,[Manager]
,[Projects]
,[Phone]
,[Extension]
FROM [SuperGas].[dbo].[Employee]
END
我们通过将两个名为ExpenseView的表连接起来来创建一个视图,
CREATE VIEW [dbo].[ExpenseView] AS
SELECT Emp.[Employee ID], Emp.[First Name],Emp.[Last Name],Emp.Manager, Ep.[Expense Type],Ep.[Expense Amount],Ep.[Expense Date]
FROM [Employee Expense] as Ep
FULL JOIN Employee as Emp
ON EP.[Employee ID] = Emp.[Employee ID]
现在这里的问题就像在第一个存储过程中一样,如何使用存储过程返回上述视图的所有列(Expense)。 我们尝试使用与第一个程序相同的方法;但是查询中未标识View ExpenseView。
历史,
从我之前的问题我发现,使用Storedprocedure的视图是不好的。
但是我们的应用程序使用下面的c#代码使用存储过程从数据库中获取数据
string spName = "SuperGas_GetAllEmployees";
DataSet ds = GetDatasetFromAdapter(spName);
更改此内容需要大量时间和额外的编码资源。因此,有什么方法可以返回整个视图(就像我们在给定的过程中为表执行SuperGas_GetAllEmployees所做的那样)这样我就可以利用当前的代码本身。
感谢您的所有帮助
编辑....
CREATE PROCEDURE [dbo].[SuperGas_GetAllExpenseView]
AS
BEGIN
SELECT [Employee ID]
,[First Name]
,[Last Name]
,[Manager]
,[Expense Type]
,[Expense Amount]
,[Expense Date]
FROM [SuperGas].[dbo].[ExpenseView]
END
GO
这里我收到费用类型,费用金额,费用日期和视图名称ExpenseView
字段的错误请帮帮我
答案 0 :(得分:2)
CREATE VIEW [dbo].[ExpenseView] AS
实际上是在哪里创建视图?在您的存储过程中,您使用FROM [SuperGas].[dbo].[ExpenseView]
您能否确保该视图位于[SuperGas]