• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 603
  • Last Modified:

Modifying Stored Procedure

I need to Modify the ADD_CUSTOMER procedure below so that it takes a fourth CUST_BALANCE IN argument, including modifying the INSERT statement so that it inserts the value passed in instead of the zero above.  The stored procedure is below.

Please provide assistance - I continue to get error messages

CREATE PROCEDURE ADD_CUSTOMER   -- Create a new customer
   @cus_id_arg NUMERIC,         -- This parameter is the new customer's ID.
   @first_name_arg VARCHAR(30), -- This parameter is the new customer’s first name.
   @last_name_arg VARCHAR(40)   -- This parameter is the new customer's last name.
AS -- This "AS" is required by the syntax of stored procedures.
BEGIN
  -- Insert the new customer with the parameters given, and a 0 balance.
  INSERT INTO CUSTOMER (CUSTOMER_ID,CUSTOMER_FIRST,CUSTOMER_LAST,CUSTOMER_TOTAL)
  VALUES(@cus_id_arg,@first_name_arg,@last_name_arg,0);
END;
0
alpha100
Asked:
alpha100
1 Solution
 
wdosanjosCommented:
Give the following a try:

CREATE PROCEDURE ADD_CUSTOMER   -- Create a new customer
   @cus_id_arg NUMERIC,         -- This parameter is the new customer's ID.
   @first_name_arg VARCHAR(30), -- This parameter is the new customer’s first name.
   @last_name_arg VARCHAR(40),   -- This parameter is the new customer's last name.
   @cust_balance money
AS -- This "AS" is required by the syntax of stored procedures.
BEGIN
  -- Insert the new customer with the parameters given, and a 0 balance.
  INSERT INTO CUSTOMER (CUSTOMER_ID,CUSTOMER_FIRST,CUSTOMER_LAST,CUSTOMER_TOTAL)
  VALUES(@cus_id_arg,@first_name_arg,@last_name_arg,@cust_balance);
END;

Open in new window

0
 
gdupadhyayCommented:
What is the data type of column: CUSTOMER_TOTAL in table:  CUSTOMER?

Please use same datatype as input parameter in stored procedure: ADD_CUSTOMER
Before writing stored procedure, please matched the datatype in table and accept as same data type. You can also type cast,  but it will make more complex.

If datatype is Money, you can use the SP posted by wdosanjos.

If Datatype is decimal: Use this stored procedure.

Or just verify what is exact datatype and use same.
CREATE PROCEDURE ADD_CUSTOMER   -- Create a new customer
   @cus_id_arg			NUMERIC,         -- This parameter is the new customer's ID.
   @first_name_arg		VARCHAR(30), -- This parameter is the new customer’s first name.
   @last_name_arg		VARCHAR(40),   -- This parameter is the new customer's last name.
   @CUST_BALANCE		decimal
   
AS -- This "AS" is required by the syntax of stored procedures.
BEGIN
  -- Insert the new customer with the parameters given, and a 0 balance.
  INSERT INTO CUSTOMER (CUSTOMER_ID, CUSTOMER_FIRST, CUSTOMER_LAST, CUSTOMER_TOTAL)
  VALUES(@cus_id_arg, @first_name_arg, @last_name_arg, @CUST_BALANCE);
END;

Open in new window

0
 
xav056Commented:
if you are modifying sa stored proc make sure you replace the "CREATE" with "ALTER"
0
[Webinar] Kill tickets & tabs using PowerShell

Are you tired of cycling through the same browser tabs everyday to close the same repetitive tickets? In this webinar JumpCloud will show how you can leverage RESTful APIs to build your own PowerShell modules to kill tickets & tabs using the PowerShell command Invoke-RestMethod.

 
alpha100Application Systems Analyst IIAuthor Commented:
How do I add a row to the store procedure?
0
 
wdosanjosCommented:
What type of row do you want to add?  Please elaborate.
0
 
alpha100Application Systems Analyst IIAuthor Commented:
I have another table called the Item's Table with Item_ID, Item_description, Item_Price.  I need to create a stored procedure that will add additional item row?  I attempted to creat the procedure and received number error messages

Here is what I created:   When I execute I receive error message: Msg 102, Level 15, State 1, Procedure ADD_ITEM, Line 4 Incorrect syntax near 'NUMERIC'.  

What am  I doing wrong?   Thanks


CREATE PROCEDURE ADD_ITEM  -- Create a new item      
   @item_id_arg NUMERIC,         -- This parameter is the new item ID.
   @item_description_arg VARCHAR(30), -- This parameter is the item description.
   @item_price NUMERIC  -- This parameter is the item price.
   
   AS -- This "AS" is required by the syntax of stored procedures.
BEGIN
  -- Insert the new customer with the parameters given, and a 0 balance.
  INSERT INTO item (item_ID,item_description, item_price)
  VALUES(@item_id_arg,@item_description_arg,@item_price_arg,0);
END;
0
 
wdosanjosCommented:
Change '@item_price NUMERIC' to '@item_price_arg NUMERIC' and remove the 0 on the INSERT statement. These changes should fix it.

If you have related questions, please open another Question.

Thanks.
0

Featured Post

Receive 1:1 tech help

Solve your biggest tech problems alongside global tech experts with 1:1 help.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now