Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dUYiR-0006Nd-CV for pgsql-sql@arkaria.postgresql.org; Mon, 10 Jul 2017 13:27:07 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1dUYiQ-00084L-VN for pgsql-sql@arkaria.postgresql.org; Mon, 10 Jul 2017 13:27:07 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1dUYiO-00081H-Mb for pgsql-sql@postgresql.org; Mon, 10 Jul 2017 13:27:04 +0000 Received: from out3-smtp.messagingengine.com ([66.111.4.27]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1dUYiJ-00038n-99 for pgsql-sql@postgresql.org; Mon, 10 Jul 2017 13:27:04 +0000 Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 18AD42085D; Mon, 10 Jul 2017 09:26:57 -0400 (EDT) Received: from frontend2 ([10.202.2.161]) by compute6.internal (MEProxy); Mon, 10 Jul 2017 09:26:57 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aklaver.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc:x-sasl-enc; s=fm1; bh=xJwZv3jmzKt6KIdl/T dCL6K09xf7hwS54GPhyTeVeEc=; b=j1s4TjPx3jCFEWML0yN5nss1cXAP11A5cN jjsDJuDVfk7AJxvvfbyS6M4VOGAvg3x2W94Yw9IzZjw1SSgBsba9U/Acwe9C3zyu rrDFARaV97ml8VbBnq7TkYMvaGHoU4Jqnovu+DsZ4YH1dbvJ8GNSxBpzvUEHCVV6 H11JqCABsI9wBMKMoscWCiSZiN7NGJZMMSRUq+3AkJtN7RdEC6utJOHfSv3eTfVr mXk5ouiwEmje8Pe6YxuqMND36qEvAl1pQ3HFQuQLEVW6fciRFrj5oxC29wL0cQ3g YxYPStm3d33c53kBJrTIprz7LGo4r25Q9BrSp5Ds5VDeYdMBDsvQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc:x-sasl-enc; s= fm1; bh=xJwZv3jmzKt6KIdl/TdCL6K09xf7hwS54GPhyTeVeEc=; b=CJJ88K2A BhyGCXuBpNN3Yoq47BvSYBCxsognd/VkVeZ+w2qcynzNNyJ2Gyf2b5q4RHFGHDLT DVcXRYqGsXO5TBOjewpgMjtWIar6NcSbq3YY3vmthpTbnJkhZks4oyOpt7xQUwhT D+S8qsedjeIJbZFE15QzAnsKr+abIyl0qCBA46ooTLfq++dh3Q4GLsXKnfuss+Rr 1xsVOEy6fU+W8myQNyFmyF+5JPCVkGFFiT8965N5nRpqwv2wSYAOuL1/r4me7YxO WT6kRnllnig1t8gvEGgbMojJKrd2t09BQmxCSFbvIpE3uB3q4FmibVYDKjGmY4u2 YdqEZL3bpNKqwQ== X-ME-Sender: X-Sasl-enc: GL6R5YS6owYqpD1LyBuFOmlzwN5sUF1BI67Hv2Z+Nu/I 1499693216 Received: from [192.168.1.2] (75-165-115-124.tukw.qwest.net [75.165.115.124]) by mail.messagingengine.com (Postfix) with ESMTPA id 8FA7124254; Mon, 10 Jul 2017 09:26:56 -0400 (EDT) Subject: Re: Function with table Valued Parameters execution issue To: Kanjibhai.Kanzaria@thomsonreuters.com, pgsql-sql@postgresql.org References: <58C4738291E8114E98343B342437EF54048F363C@HYDR-ERFMMBS21.ERF.thomson.com> From: Adrian Klaver Message-ID: Date: Mon, 10 Jul 2017 06:26:55 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <58C4738291E8114E98343B342437EF54048F363C@HYDR-ERFMMBS21.ERF.thomson.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-sql Precedence: bulk Sender: pgsql-sql-owner@postgresql.org On 07/10/2017 05:49 AM, Kanjibhai.Kanzaria@thomsonreuters.com wrote: > Hello, > > I am new one in Postgres and am using pgAdmin III for postgres tools. > > I have created data type which replicates data table in our application > and created one function with table valued parameter. I have tried lots > of solution but, am not able to achieved my goal. > > I would like to know how to call or execute function with table value > parameter in Postgres. > > I have defined type like this: > > CREATE TYPE "CategoryType" AS > > ("CATEGORY_NODE_ID" text, > > "PARENT_ID" text, > > "CODE" text, > > "DESCRIPTION" text, > > "SEQUENCE_NUMBER" integer, > > "ACCOUNT_GROUP_ID" integer, > > "FINANCIALREPORT_CATEGORY_ID" integer, > > "FINANCIALREPORT_DETAIL_ID" integer); > > ALTER TYPE "CategoryType" > > OWNER TO postgres; > > I have defined following function: > > CREATE OR REPLACE FUNCTION "CategoryBulkImport"(_tbl_type "CategoryType") > > RETURNS > > TABLE ( > > "CATEGORY_NODE_ID" text, > > "PARENT_ID" text, > > "CODE" text, > > "DESCRIPTION" text, > > "SEQUENCE_NUMBER" integer, > > "ACCOUNT_GROUP_ID" integer, > > "FINANCIALREPORT_CATEGORY_ID" integer, > > "FINANCIALREPORT_DETAIL_ID" integer > > ) > > AS > > $BODY$ > > SELECT "CATEGORY_NODE_ID", "PARENT_ID", "CODE", > "DESCRIPTION", "SEQUENCE_NUMBER", > > "ACCOUNT_GROUP_ID", > "FINANCIALREPORT_CATEGORY_ID", "FINANCIALREPORT_DETAIL_ID" > > FROM _tbl_type; > > $BODY$ > > LANGUAGE sql VOLATILE > > COST 100; > > ALTER FUNCTION "CategoryBulkImport"("CategoryType") > > OWNER TO postgres; > > Here I want to use table type parameter(_tbl_type) inside function with > select statement but not able to access it so please suggest me a way. > > Here I am not sure about my function so please correct me if I am wrong. CREATE OR REPLACE FUNCTION "CategoryBulkImport"("CategoryType") RETURNS TABLE ( "CATEGORY_NODE_ID" text, "PARENT_ID" text, "CODE" text, "DESCRIPTION" text, "SEQUENCE_NUMBER" integer, "ACCOUNT_GROUP_ID" integer, "FINANCIALREPORT_CATEGORY_ID" integer, "FINANCIALREPORT_DETAIL_ID" integer ) AS $BODY$ SELECT $1.*; $BODY$ LANGUAGE sql VOLATILE COST 100; See here: https://www.postgresql.org/docs/9.6/static/xfunc-sql.html#XFUNC-SQL-FUNCTION-ARGUMENTS > > Thank you. > > Best Regards, > > Kanji Kanzariya > -- Adrian Klaver adrian.klaver@aklaver.com -- Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-sql