PostgreSQL Help
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me

The Shed is going Social! Join us on FaceBook and Twitter and chime in on the conversation.

Go Back   Dev Shed ForumsDatabasesPostgreSQL Help

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread Dev Shed Forums Sponsor:
  #1  
Old September 2nd, 2012, 08:58 AM
myryads myryads is offline
Registered User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Sep 2012
Posts: 2 myryads User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 13 m 51 sec
Reputation Power: 0
Using Function to reduce column value

Hi,

I am currently trying to use a function to reduce the value of a particular column in a view I have created.

The function is as follows:

create type holder as (name1 text, title1 text, count1 int);

create or replace function coauthorcount1() returns setof holder1 as
'
declare
r holder1%rowtype;
begin
for r in select name, title, count
from nametitlecount LOOP
r.count1 := r.count1 - 1;

end loop;
return;
end
'
language 'plpgsql';


The table consists of 3 columns: Name, Title and Count.

I am trying to decrement the count values by 1 but it doesn't seem to be working when I run the function using 'select 'coauthorcount();'.

I just get an output of '(0 rows)'.

Any help would be greatly appreciated.

Cheers

Reply With Quote
  #2  
Old September 2nd, 2012, 09:08 AM
shammat shammat is offline
Contributing User
Dev Shed Frequenter (2500 - 2999 posts)
 
Join Date: Oct 2003
Location: Germany
Posts: 2,685 shammat User rank is Captain (20000 - 30000 Reputation Level)shammat User rank is Captain (20000 - 30000 Reputation Level)shammat User rank is Captain (20000 - 30000 Reputation Level)shammat User rank is Captain (20000 - 30000 Reputation Level)shammat User rank is Captain (20000 - 30000 Reputation Level)shammat User rank is Captain (20000 - 30000 Reputation Level)shammat User rank is Captain (20000 - 30000 Reputation Level)shammat User rank is Captain (20000 - 30000 Reputation Level)shammat User rank is Captain (20000 - 30000 Reputation Level) 
Time spent in forums: 1 Month 3 Weeks 3 Days 19 h 53 m 20 sec
Reputation Power: 284
First: you are not doing any UPDATEs in that function, therefor nothing is being changed.
Secondly: there is absolutely no need to use a function for this

Just run a simple update on your table:
Code:
UPDATE nametitlecount 
  SET count = count - 1;
is all you need.

Whenever you find yourself doing loops to do something in a relational database, stop and question the approach.
Databases are not designed for row-by-row processing. They are very efficient in hanlding sets of data.
__________________
I will not read nor answer questions where the SQL code is messy and not formatted properly using [code] tags.
http://forums.devshed.com/misc.php?do=bbcode#code

Tips on how to ask better questions:
http://tkyte.blogspot.de/2005/06/how-to-ask-questions.html
http://wiki.postgresql.org/wiki/SlowQueryQuestions
http://catb.org/esr/faqs/smart-questions.html

Reply With Quote
  #3  
Old September 2nd, 2012, 06:49 PM
myryads myryads is offline
Registered User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Sep 2012
Posts: 2 myryads User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 13 m 51 sec
Reputation Power: 0
Hi Shammat,

Many thanks for your response. I tried proceeding as you advised but now receive the message:

"Error: cannot update a view"

"HINT: You need an unconditional ON UPDATE DO INSTEAD rule"

Reply With Quote
Reply

Viewing: Dev Shed ForumsDatabasesPostgreSQL Help > Using Function to reduce column value

Developer Shed Advertisers and Affiliates



Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
View Your Warnings | New Posts | Latest News | Latest Threads | Shoutbox
Forum Jump

Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
  
 


Powered by: vBulletin Version 3.0.5
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.

© 2003-2013 by Developer Shed. All rights reserved. DS Cluster - Follow our Sitemap