2013-10-18 59 views
0

我試圖創建一個過程來根據用戶的搜索條目搜索一個表並顯示它們。我的程序中在p_brand中出現重複的參數錯誤。Mysql:重複參數錯誤

這裏是代碼


- 常規DDL - 注:前後例行身體後的意見將不會被服務器存儲


DELIMITER $$ 

CREATE DEFINER=`root`@`localhost` PROCEDURE `MAS_pSearchinventory` 
(
IN   p_Category   VARCHAR(20), 
IN   p_Brand    VARCHAR(20), 
IN   P_Model    varchar(20), 
IN   p_Pricefrom   INT(20), 
IN   p_Priceto   INT(20), 
OUT   p_Product   varchar(30),  
OUT   p_Brand    varchar(30),  
OUT   p_Model    varchar(30),  
OUT   p_Series   varchar(30), 
OUT   p_Color    varchar(30),  
OUT   p_MotherBoard  varchar(30),  
OUT   p_Processor   varchar(30),  
OUT   p_Ram    varchar(30),  
OUT   p_ScreenType  varchar(30),  
OUT   p_ScreenSize  varchar(30),  
OUT   p_OpticalDiskdrive varchar(30),  
OUT   p_Usb    varchar(30),  
OUT   p_ModemEthernet  varchar(30),  
OUT   p_Bluetooth   varchar(30),  
OUT   p_TVOutput   varchar(30),  
OUT   p_SoundCard   varchar(30),  
OUT   p_KeyboardAndMouse LONGTEXT, 
OUT   p_Accessories  LONGTEXT, 
OUT   p_OperatingSystem varchar(30),  
OUT   p_GraphicsCard  varchar(30),  
OUT   p_ScreenResolution varchar(30),  
OUT   p_HardDrive   varchar(30),  
OUT   p_MemoryCardReader varchar(30),  
OUT   p_Wifi    varchar(30),  
OUT   p_AudioInterface varchar(30),  
OUT   p_ExpantionCardSlot varchar(30),  
OUT   p_Webcam   varchar(30),  
OUT   p_Battery   varchar(30),  
OUT   p_SoftwareIncluded varchar(30),  
OUT   p_Price    varchar(30),  
OUT   p_Discount   varchar(30),  
OUT   p_HomeDelivery  varchar(30), 
OUT   p_FileName   varchar(100), 
OUT   p_Result   varchar(100) 

) 

BEGIN 

SELECT 
Product,Brand,Model,Series,Color,MotherBoard,   
       Processor,     
       Ram,       
       ScreenType,     
       ScreenSize,     
       OpticalDiskdrive,    
       Usb,       
       ModemEthernet,    
       Bluetooth,     
       TV put,      
       SoundCard,     
       KeyboardAndMouse,  
       Accessories,    
       OperatingSystem,    
       GraphicsCard,     
       ScreenResolution,    
       HardDrive,     
       MemoryCardReader,    
       Wifi,       
       AudioInterface,    
       ExpantionCardSlot,   
       Webcam,      
       Battery,      
       SoftwareIncluded,    
       Price,      
       Discount,      
       HomeDelivery,    
       FileName,     
       Result 
from mas_tinsertinventorydetails 
WHERE 
(
    (category=p_Category) and 
    (Brand=p_Brand)   and 
    (model=p_Model)   and 
    (pricefrom=p_Pricefrom) and 
    (priceto=p_Priceto) 

); 

END 
+1

你給了相同的名稱,p_Brand,兩個參數。 – eggyal

回答

0

嘗試這個...它工作正常,我..

在這裏,我已經改變了p_Brand to p_Brand_outp_Model to p_Model_out

DELIMITER $$ 

CREATE DEFINER=`root`@`localhost` PROCEDURE `MAS_pSearchinventory` 
(
IN   p_Category   VARCHAR(20), 
IN   p_Brand    VARCHAR(20), 
IN   P_Model    varchar(20), 
IN   p_Pricefrom   INT(20), 
IN   p_Priceto   INT(20), 
OUT   p_Product   varchar(30),  
OUT   p_Brand_out    varchar(30),  
OUT   p_Model_out    varchar(30),  
OUT   p_Series   varchar(30), 
OUT   p_Color    varchar(30),  
OUT   p_MotherBoard  varchar(30),  
OUT   p_Processor   varchar(30),  
OUT   p_Ram    varchar(30),  
OUT   p_ScreenType  varchar(30),  
OUT   p_ScreenSize  varchar(30),  
OUT   p_OpticalDiskdrive varchar(30),  
OUT   p_Usb    varchar(30),  
OUT   p_ModemEthernet  varchar(30),  
OUT   p_Bluetooth   varchar(30),  
OUT   p_TVOutput   varchar(30),  
OUT   p_SoundCard   varchar(30),  
OUT   p_KeyboardAndMouse LONGTEXT, 
OUT   p_Accessories  LONGTEXT, 
OUT   p_OperatingSystem varchar(30),  
OUT   p_GraphicsCard  varchar(30),  
OUT   p_ScreenResolution varchar(30),  
OUT   p_HardDrive   varchar(30),  
OUT   p_MemoryCardReader varchar(30),  
OUT   p_Wifi    varchar(30),  
OUT   p_AudioInterface varchar(30),  
OUT   p_ExpantionCardSlot varchar(30),  
OUT   p_Webcam   varchar(30),  
OUT   p_Battery   varchar(30),  
OUT   p_SoftwareIncluded varchar(30),  
OUT   p_Price    varchar(30),  
OUT   p_Discount   varchar(30),  
OUT   p_HomeDelivery  varchar(30), 
OUT   p_FileName   varchar(100), 
OUT   p_Result   varchar(100) 

) 

BEGIN 

SELECT 
Product,Brand,Model,Series,Color,MotherBoard,   
       Processor,     
       Ram,       
       ScreenType,     
       ScreenSize,     
       OpticalDiskdrive,    
       Usb,       
       ModemEthernet,    
       Bluetooth,     
       TV put,      
       SoundCard,     
       KeyboardAndMouse,  
       Accessories,    
       OperatingSystem,    
       GraphicsCard,     
       ScreenResolution,    
       HardDrive,     
       MemoryCardReader,    
       Wifi,       
       AudioInterface,    
       ExpantionCardSlot,   
       Webcam,      
       Battery,      
       SoftwareIncluded,    
       Price,      
       Discount,      
       HomeDelivery,    
       FileName,     
       Result 
from mas_tinsertinventorydetails 
WHERE 
(
    (category=p_Category) and 
    (Brand=p_Brand)   and 
    (model=p_Model)   and 
    (pricefrom=p_Pricefrom) and 
    (priceto=p_Priceto) 

); 

END 
+0

感謝傢伙它的工作... – dev

+0

你是受歡迎的開發.. – Vijay

1

這麼重命名OUT p_Brand參數爲其他值。此外p_Model