2012-08-30 34 views
0

我想創建一個存儲過程從我的數據庫表中檢索行...但它看起來像我在輸入查詢時丟失了一些東西。SQL Server存儲過程從表中獲取行

這裏是我的存儲過程:

CREATE PROCEDURE [dbo].[p_GetLeaveRecord_LMS] 
    -- Add the parameters for the stored procedure here 
    @LeaveType varchar(50), 
    @IdEmployee int, 
    @DateFrom date, 
    @DateTo date, 
    @Reason nvarchar(MAX) 
AS 
BEGIN 
    -- SET NOCOUNT ON added to prevent extra result sets from 
    -- interfering with SELECT statements. 
    SET NOCOUNT ON; 

    SElECT * FROM cor_leave 
    (
    id_leave_type, 
    id_employee, 
    dt_from, 
    dt_to, 
    txt_reason 
    ) 
    Values 
    (
    @LeaveType, 
    @IdEmployee, 
    @DateFrom, 
    @DateTo, 
    @Reason 
    )  
END 

如果誰能給我更好的答案,使程序正確。

我是數據庫的初學者。

謝謝

+0

參數必須用括號括起來。另外,你想要什麼程序返回? – kyooryu

+0

您的SELECT查詢語法不正確。 SELECT不是以這種方式寫的。看看這裏的SELECT語法http://msdn.microsoft.com/en-us/library/ms189499.aspx – InSane

回答

2
SELECT @LeaveType=id_leave_type, @IdEmployee`=id_employee,@DateFrom=dt_from,@DateTo=dt_to,@Reason=txt_reason FROM cor_leave 
+0

你好t-clausen,你能解釋我有什麼錯誤做了什麼? –

2

您的select語句不是有效的SQL。它看起來更像是一個修改的INSERT語句。

它應該是:

SELECT 
    id_leave_type, 
    id_employee, 
    dt_from, 
    dt_to, 
    txt_reason 
FROM cor_leave 
+0

得到它謝謝:) –

+0

@AmmarAsjad - 你建議(使用'*'沒有得到一列_selection_ ,但所有這些,它也被認爲是一種不好的做法,有幾個原因 – Oded

+0

@marc_s - 謝謝... – Oded