How to concatenate a query string safely in plpgsql? [closed] - postgresql

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 8 years ago.
The community reviewed whether to reopen this question 5 months ago and left it closed:
Original close reason(s) were not resolved
Improve this question
For example:
Query1
abc:='select * from table1';
Query2
result:='create view'||quote_ident(view1)||'as'||abc;

I'm going to take a wild guess and assume you're trying to use dynamic SQL to create a view.
If so, use the EXECUTE statement.
abc := 'select * from table1';
result := 'create view '||quote_ident(view1)||' as ' || abc;
EXECUTE result;
Your query text looked OK except for the missing spaces, assuming that view1 is a text parameter.
(In future: include PostgreSQL version, exact text of any error message, the full code you're using, etc).

Related

What is the solution for 'For fetch only' in postgresql? [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 1 year ago.
Improve this question
I have one query in DB2 which use 'for fetch only' but I need to convert it into postgresql. What can we use it for that?
You don't need that in PostgreSQL. In PostgreSQL, any cursor can be used for a positioned UPDATE or DELETE.
Just omit the clause in PostgreSQL.

how to check is string contains substring? [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 2 years ago.
Improve this question
I have a table with field name out of type text
I want to get the rows which contains sub string "hello and good morning"
I have tried to write:
select *
from my_table
where out like 'hello and good morning%'
but it seems not working.
How can I get all the rows which contains sub string ?
According to given details, this should work.
select * from my_table where LOWER(out) like LOWER('%hello and good morning%')
Here is the fiddle.

newline character in Postgresql [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 4 years ago.
Improve this question
How can we get this output
results from query should be like:
Assessment
penalty
both values are coming from two different columns. I want to join these two columns but want results like above in single cell. so there should be new line for second column(but in same cell)
select assessment || E'\n' || penalty from wherever
or
select concat_ws(chr(10), assessment, penalty) from wherever
Note: I am assuming, since you didn't say, that neither column can be null.

After update trigger information [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 6 years ago.
Improve this question
how can I understand which property or properties were updated and can I understand on which row or get the current row? Thanks.
If the row has a unique identifier, NEW.id will hold the value of that identifier within the trigger function. In order to see whether the value has been updated you can compare OLD.columnname vs NEW.columnname
You can add
RAISE NOTICE 'id of row: %', NEW.id;
to see the values in the output

Postgres: how can I subtract value at one query? [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 8 years ago.
Improve this question
I think I can only get value, subtract value (at Java) and update value. Is it possible to subtract value at cell at one query?
Yes, but you got the syntax a bit wrong:
UPDATE table SET number_of_people = number_of_people - 3 WHERE id = 487364
This assumes that number_of_people is an integer value.