Hi, I am a postgresql and stored procedures beginner and I would like to know if the stored procedure I am trying to migrate to plpgsql from MSSQL is correct.
Here 's the only table involved in the stored procedure: create table ManufacturerOrders ( OrderNumber serial, SKU int not null, Make varchar(50) not null, Model varchar(50) not null, Price int not null, Status varchar(20) not null, primary key (OrderNumber) );
Here 's the original MSSQL stored procedure: create procedure UpdateOrder (@OrderNum int) as set nocount on
update ManufacturerOrders set Status = "Shipped" where OrderNumber = @OrderNum;
SELECT SKU, Price FROM ManufacturerOrders WHERE OrderNumber = @OrderNum go
Here 's the plpgsql version i wrote:
CREATE FUNCTION UpdateOrder(INTEGER) RETURNS TEXT AS '
DECLARE
i_ordernum ALIAS for $1;
r_SKUPrice RECORD;
BEGIN
update ManufacturerOrders set Status = ''Shipped'' where OrderNumber = i_ordernum;
SELECT SKU, Price INTO r_SKUPrice FROM ManufacturerOrders WHERE OrderNumber = i_ordernum;
return r_SKUPrice;
END; ' LANGUAGE 'plpgsql';
I would like to know especially if the RETURNS statement is correct here and if i can give a name to the record r_SKUPrice columns .
Thanks in advance, Bengali
---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings