0
我在創建使用特定月份和年份作爲輸入周長的存儲過程時遇到問題。執行查詢時,具有特定月份和年份的存儲過程不能用作輸入參數...?
我需要創建一個名爲sp_products
的存儲過程,列出在指定的月份和年份期間訂購的指定產品。產品名稱,月份和年份將作爲存儲過程的輸入參數。從Products
表中顯示產品名稱,單價和庫存單位,以及Suppliers
表中的供應商名稱。使用以下查詢來測試您的存儲過程以生成下面列出的結果集。
EXEC sp_products '%tofu%', 'December', 1992
ProductName UnitPrice UnitsInStock Name
------------------------------ -------------- --------------- -----------------------------------
這是我寫的查詢成功執行的代碼。
但是,當我跑了
EXEC sp_products '%tofu%', 'December', 1992
我收到錯誤消息。
CREATE PROCEDURE sp_products
(@product VARCHAR(40),
@month DATETIME = 'December',
@year DATETIME = 1992
)
AS
SELECT
P.ProductName, P.UnitPrice, P.UnitsInStock,
S.Name
FROM
Products P
INNER JOIN
Suppliers S ON P.SupplierID = S.SupplierID
WHERE
P.SupplierID = @product
需要幫助..... !!!!
你確定你在使用MySQL嗎?我認爲它是'SQL Server'。 – 2013-03-20 05:19:50
你會得到什麼錯誤信息? – 2013-03-20 05:23:45
備註:您應該**不要**爲存儲過程使用'sp_'前綴。微軟已經保留了這個前綴以供自己使用(參見*命名存儲過程*)](http://msdn.microsoft.com/en-us/library/ms190669%28v=sql.105%29.aspx),以及你將來有可能冒着名字衝突的風險。 [這對你的存儲過程性能也不好](http://sqlserverpedia.com/blog/sql-server-bloggers/stored-procedure-performance-using-%E2%80%9Csp_%E2%80%9D-prefix- %E2%80%93-神話或-事實/)。最好只是簡單地避免使用'sp_'並將其他內容用作前綴 - 或者根本沒有前綴! – 2013-03-20 06:00:15