How to display multiple rows from a table without using cursor? [closed] - oracle

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 have an existing table. I have a select query which might return multiple rows. I want to display all rows that this select query returns, without using cursor. How can I achieve it in pl sql?

If I understand your question correctly, the following is a possible solution:
BEGIN
FOR T IN (SELECT 'data_1' col_1,
'data_2' col_2,
'data_3' col_3
FROM dual) LOOP
dbms_output.put_line('Query returns: '||T.col_1||', '||T.col_2||', '||T.col_3);
END LOOP;
END;

Related

Create a column with dollar sign in Oracle SQL [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 am wondering whether I can create a column with dollar sign? The output should look like the area marked by red line. But the column can still be calculated like number.
I am not sure whether it is capable.
You can try this:
select to_char(500, '$999') from dual
Column-Name with Dollar:
CREATE TABLE t1 (ID int, "$Sal" int);
INSERT INTO t1 values(1,100);
SELECT id, "$Sal" * 10 FROM t1;

ANYONE CAN TELL ME THAT WHY THIS CODE IS GIVING ME AN ERROR OF TABLE OT CLUSTER KEY WORD IS MISSING? [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 3 years ago.
Improve this question
DECLARE
CURSOR c_CUR IS
SELECT id, table_name, is_deleted FROM truncate_table WHERE IS_DELETED=1
ORDER BY id DESC;
BEGIN
FOR C IN c_CUR LOOP
EXECUTE IMMEDIATE 'TRUNCATE TABLE'|| C.table_name;
END LOOP;
END;
I HAVE AN ERROR TABLE OR CLUSTER KEYWORD IS MISSING
It is very clear that you are not creating a dynamic query properly. Space is missing between TABLE'|| C.table_name
It must be something like this:
EXECUTE IMMEDIATE 'TRUNCATE TABLE '|| C.table_name; -- see space after TABLE
Cheers!!

Oracle pl/sql check if number starts with 9 or 8 [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 7 years ago.
Improve this question
i am trying to validate data inside my database that is number.
Am i able to detect the retrieved data whether it starts with 8 or 9?
For example:
8999999 is valid
9999999 is valid
7000000 is invalid
Thanks
You can try checking the first character of the field using SUBSTR():
SELECT field_value
FROM your_table
WHERE SUBSTR(TO_CHAR(field_value), 1, 1) IN ('8','9')
The following query will return all records where column data begins with an 8 or 9:
SELECT data
FROM your_table
WHERE REGEXP_LIKE (CAST(data AS varchar2(30)), '^(8|9)(*)');
I assume here that data is a numeric type, and so I cast it to varchar before using REGEXP_LIKE.

Which tables do not have indexes in Oracle? [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 7 years ago.
Improve this question
On Oracle, how can I list ALL tables and ALL materialized views without indexes using a SELECT command ?
Well, normally I wouldn't do this, but here you go:
SELECT t.TABLE_NAME
FROM USER_TABLES t
LEFT OUTER JOIN (SELECT DISTINCT TABLE_NAME
FROM USER_INDEXES) i
ON i.TABLE_NAME = t.TABLE_NAME
WHERE i.TABLE_NAME IS NULL;
Perhaps your question should be "Why did someone just do my homework for me?".
Best of luck.

Function to convert a string to character [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
select 'open' as "documentno" from c_order
union all
select documentno as "documentno" from c_invoice
.This is not working in oracle.
i need a query that works in both oracle and postgres
You have not provided enough information to answer your question.
My guess is that you want to include columns in a union that do not have the same data type and are looking for a way to cast a number to a character value (again I'm guessing because you didn't tell us what data type documentno is).
The following works in Oracle and Postgres:
select 'open' as "documentno" from c_order
union all
select cast(documentno as varchar(20)) as "documentno" from c_invoice;
However: the first part of the union does not make sense. Why are your retrieving the same constant value for each and every row in c_order without any additional information from that table?

Resources