how to make this function work....

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • ravysters
    New Member
    • May 2008
    • 27

    how to make this function work....

    hi.. i have this procedure.. but its not working.. its showing some syntax errors.. how can i make this work.. please help



    create or replace function test(text)
    returns integer
    as
    $$
    Declare
    x varchar;
    y varchar;
    z varchar;
    Begin
    z := select xpath('/F/@CT:I',''||$1|| '',ARRAY[ARRAY['CT','urn:Point Cross-ChangeTracker']]);
    execute z into y;
    return y;
    end;
    $$
    language 'plpgsql';
  • rski
    Recognized Expert Contributor
    • Dec 2006
    • 700

    #2
    Originally posted by ravysters
    hi.. i have this procedure.. but its not working.. its showing some syntax errors.. how can i make this work.. please help



    create or replace function test(text)
    returns integer
    as
    $$
    Declare
    x varchar;
    y varchar;
    z varchar;
    Begin
    z := select xpath('/F/@CT:I',''||$1|| '',ARRAY[ARRAY['CT','urn:Point Cross-ChangeTracker']]);
    execute z into y;
    return y;
    end;
    $$
    language 'plpgsql';
    Maybe you'll show that errors. By the way if z is varchar shouldn't you put
    Code:
    select xpath('/F/@CT:I',''||$1||'',ARRAY[ARRAY['CT','urn:PointCross-ChangeTracker']]);
    between apos.
    Code:
    z:='select xpath('/F/@CT:I',''||$1||'',ARRAY[ARRAY['CT','urn:PointCross-ChangeTracker']]);'
    and why do you write ''||$1||'' are you using there quotation or is it double apos?

    Comment

    • ravysters
      New Member
      • May 2008
      • 27

      #3
      i am sorry.. i accidentally reported instead of replying...

      thanks for the reply...the function is working...

      but i have a new problem.. type casting..how can i do that in postgres...
      i went through the manual... but wasn't that helpful...

      consider the following..

      declare x varchar;
      execute 'select xpath()' into x;
      return x;

      how can i convert x from varchar to integer...
      help me..

      Comment

      • rski
        Recognized Expert Contributor
        • Dec 2006
        • 700

        #4
        Originally posted by ravysters
        i am sorry.. i accidentally reported instead of replying...

        thanks for the reply...the function is working...

        but i have a new problem.. type casting..how can i do that in postgres...
        i went through the manual... but wasn't that helpful...

        consider the following..

        declare x varchar;
        execute 'select xpath()' into x;
        return x;

        how can i convert x from varchar to integer...
        help me..
        doesn't simple
        Code:
        return x::integer
        work? if not maybe you should write your own cast function.

        Comment

        • ravysters
          New Member
          • May 2008
          • 27

          #5
          hi.. even after doing that i am gettting this error..

          invalid input syntax for integer: ...


          i even used select cast( x as integer)..


          dint work either man..

          Comment

          • rski
            Recognized Expert Contributor
            • Dec 2006
            • 700

            #6
            Originally posted by ravysters
            hi.. even after doing that i am gettting this error..

            invalid input syntax for integer: ...


            i even used select cast( x as integer)..


            dint work either man..
            What does
            Code:
            execute 'select xpath()' into x;
            produce?

            Comment

            Working...