2014-06-24 44 views
2

我建立了一個存儲過程:「存儲過程指定的參數太多」 的SQLServer

CREATE PROCEDURE dbo.sp_orders_by_dates 
    @start_date datetime, 
    @end_date datetime 
AS 
    SELECT 
     order_id, 
     orders.customer_id, 
     customers.name, 
     shippers.name, 
     shipped_date 
    FROM orders 
    INNER JOIN customers ON orders.customer_id = customers.customer_id 
    INNER JOIN shippers ON orders.shipper_id = shippers.shipper_id 
    WHERE shipped_date BETWEEN @start_date AND @end_date 

當我執行使用方法:

EXECUTE sp_customer_city 'January 1, 2003', 'June 30, 2003' 

我收到:

Msg 8144, Level 16, State 2, Procedure sp_customer_city, Line 0 
Procedure or function sp_customer_city has too many arguments specified. 

我沒有正確指定這個過程可以帶兩個參數嗎?

+2

輸入正確的日期格式並檢查 – Azar

+1

您嘗試使用正確的存儲過程? sp_orders_by_dates'2003年1月1日','2003年6月30日' – JBrooks

+0

謝謝J.是的,完全錯過了。 – 121c

回答

5

您正在調用與您創建的過程不同的存儲過程。 sp_customer_city具有少於兩個定義的參數,這是錯誤消息的含義。調用sp_orders_by_dates將起作用。

+1

哈哈,我完全錯過了這一點。這可能只是一個錯字,但是對於好眼睛來說+1。 – paqogomez

+0

啊。哇。我無視線索看了15分鐘。完全錯過了。謝謝您的幫助。將在7分鐘內接受答案。乾杯。 – 121c

+0

如果你alredy修改存儲過程,你仍然得到這個錯誤,應該是因爲你有相同的查詢在其他標籤打開...狗屎發生:( –