Received: from maia.hub.org (maia-3.hub.org [200.46.204.243]) by mail.postgresql.org (Postfix) with ESMTP id 69B2A13364DE for ; Wed, 16 Feb 2011 08:35:25 -0400 (AST) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.204.243]) (amavisd-maia, port 10024) with ESMTP id 60768-06 for ; Wed, 16 Feb 2011 12:35:17 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from cx296.800onemail.com (CX296.800onemail.com [209.171.54.154]) by mail.postgresql.org (Postfix) with ESMTP id 22FDF133616B for ; Wed, 16 Feb 2011 08:35:17 -0400 (AST) Received: from EX13-N05.exchserver.com ([10.7.5.66]) by cx296.800onemail.com (8.13.8/8.13.8) with ESMTP id p1GCXvQZ025280 for ; Wed, 16 Feb 2011 07:33:57 -0500 Received: from EX60.exchserver.com (10.7.5.154) by EX13-N05.exchserver.com (10.7.40.162) with Microsoft SMTP Server id 8.3.106.1; Wed, 16 Feb 2011 07:33:57 -0500 Received: from [127.0.0.1] ([164.164.82.29]) by EX60.exchserver.com with Microsoft SMTPSVC(6.0.3790.3959); Wed, 16 Feb 2011 07:33:56 -0500 Message-ID: <4D5BC495.5000605@subexworld.com> Date: Wed, 16 Feb 2011 18:05:33 +0530 From: Sivannarayanreddy Reply-To: sivannarayanreddy@subexworld.com Organization: Subex Ltd. User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.13) Gecko/20101207 Thunderbird/3.1.7 MIME-Version: 1.0 To: "pgsql-sql@postgresql.org" Subject: Function compile error Content-Type: multipart/alternative; boundary="------------010503060009070302060100" X-OriginalArrivalTime: 16 Feb 2011 12:33:56.0596 (UTC) FILETIME=[C7520340:01CBCDD5] X-Crx-NoRoute: SMTP reroute not required X-CRXEFW-Info: Please contact Ceryx for more information X-CRXEFW-Virus: Clean X-CRXEFW-From: sivannarayanreddy@subexworld.com X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=-1.899 tagged_above=-5 required=5 tests=BAYES_00=-1.9, HTML_MESSAGE=0.001 X-Spam-Level: X-Archive-Number: 201102/79 X-Sequence-Number: 35155 --------------010503060009070302060100 Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit Hello, I am trying to create the function as below but it is throwing error 'ERROR: syntax error at or near "DECLARE"', Could some one help me please CREATE FUNCTION check_password(databasename text, tablename text, indexname text)RETURNS VOID AS DECLARE v_count INTEGER; BEGIN select count(1) into v_count from pg_index inx where inx.indexrelid in (select oid from pg_class where relname=$3 and relowner in (select oid from pg_authid where rolname=$1)) and inx.indrelid in (select oid from pg_class where relname=$2 and relowner in (select oid from pg_authid where rolname=$1)); if v_count = 0 then execute immediate 'create unique index $3 on $2 (acn_id)'; end if; END; *Sivannarayanareddy Nusum****| **System Analyst(Moneta GDO)* Subex Limited, Adarsh Tech Park, Outer Ring Road, Devarabisannalli, Bangalore -- 560037, India. *Phone:*+91 80 6696 3371; *Mobile:*+91 9902065831*Fax:*+91 80 6696 3333; *Email:*sivannarayanreddy@subexworld.com ; *URL:*www.subexworld.com /Disclaimer: This e-mail is bound by the terms and conditions described at //http://www.subexworld.com/mail-disclaimer.html/ --------------010503060009070302060100 Content-Type: multipart/related; boundary="------------090706030207000604070201" --------------090706030207000604070201 Content-Type: text/html; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit Hello,
I am trying to create the function as below but it is throwing error 'ERROR:  syntax error at or near "DECLARE"', Could some one help me please

CREATE FUNCTION check_password(databasename text, tablename text, indexname text)RETURNS VOID AS
DECLARE v_count INTEGER;
BEGIN
  select  count(1) into v_count  from  pg_index inx where  inx.indexrelid in
 (select oid from pg_class where relname=$3 and relowner in
 (select oid from pg_authid where rolname=$1))
 and inx.indrelid in
 (select oid from pg_class where relname=$2 and relowner in
 (select oid from pg_authid where rolname=$1));
 if v_count = 0 then 
execute immediate 'create unique index $3 on $2 (acn_id)'; 
end if;
END;


Sivannarayanareddy Nusum | System Analyst(Moneta GDO)

Subex Limited, Adarsh Tech Park, Outer Ring Road, Devarabisannalli, Bangalore – 560037, India.
Phone: +91 80 6696 3371; Mobile: +91 9902065831  Fax: +91 80 6696 3333;

Email:  sivannarayanreddy@subexworld.com; URL:  www.subexworld.com

 

Disclaimer: This e-mail is bound by the terms and conditions described at http://www.subexworld.com/mail-disclaimer.html

--------------090706030207000604070201 Content-Type: image/gif; name="graphics1" Content-Transfer-Encoding: base64 Content-ID: Content-Disposition: inline; filename="graphics1" R0lGODlhvgBHAHcAACH/C01TT0ZGSUNFOS4wDQAAAAFzUkdCAK7OHOkAIf8LTVNPRkZJQ0U5 LjAXAAAAC21zT1BNU09GRklDRTkuMEI8pPUALAAAAAC+AEcAh4ODg4uLi6KiotqpvP/BCf/T U50aUPfs8P/IJe7Z4cuGosyJpfnw9P7yy/De5q9GcZwZTzY2Np4dU/71254eU3x8fLFKdf7c d7Kystmmu2tra8nJyXV1df/ABfz8/Pz5+v/nnL5pjJUJQ6s9ar1miu3t7f/CDFtbW//RTPv1 +P/hiP/78ZqamsZ7mv7uuuHh4f/pqP78/dGVrsTExPny9f/DEqmpqdHR0f/77SwsLPHx8fXp 7uG6yvLh6KEmWKAgVb29vf/01UxMTNra2urO2VRUVKYyYv/MNM+QquXl5dyuwblehLm5ufXn 7f/NO7ZVfc2NqOnK196yxOK+zK1BbqUvX5oVTJsWTf/FG56ent3d3f++AJ4fWrtghv+/ApkS SuTAz7RReZGRkbhagdfX1/r6+vr09/T09P37/Ojo6JsYTvz6+6g2ZRkZGfj4+Pb29uTB0N+0 xezU3v/9+dCQq6QtXpaWlv/5566urp4eUsmBn8HBwf/abKIoWs3NzUJCQiEhIdSbspkUS9Wd tJwcUsR1lmRkZOXE0fPk6ufJ1f/rsMFxkqAkV5gQSJ8iVqMqXNCTtJ0cUMBukKQsXrlcgv7X Yba2ttahtuvS3NejuKo4Z6YrS5wXTwgICPHg56AgVv/+++vQ2/7AA+3W4MN1lfTl654iVZwc WrNRebBIcqQqXfry9tOYsOC3yJoSS+zT3ch+nP+9AMV4l/7YZtCSrJ8iVP/fgrNOd92ww5kV TJ0dUr9sjv7337hZgObG1JcOR5gSSdSbs/+/A/ry9fjv85gRSZ8eVOS/z50bUZsaULVTe5kT S50fVKQrXZ8hVf7////+/////p8gVaYuX/7+/58fVP7+/p4hVf/+/p8hVP7//p4gVPz4+Z4g Vf79/frz9p8iVcJzk6YtX+/b47xROuWVHeSXIZ0gVf/1stF4OfPk79+2x5kXWLdXf//vwP/M Abldib9ukf/71f76++ymL54hVOKZQ//HAJkVTf2+AP/LEf/HCNuswNurv6AhVv///wj/AP8J HEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmyJEhtJlNO/CADChI6MOlA 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 --------------090706030207000604070201-- --------------010503060009070302060100--