Home » SQL & PL/SQL » SQL & PL/SQL » how to use desc inside pl sql block?
how to use desc inside pl sql block? [message #518059] Mon, 01 August 2011 02:35 Go to next message
vino06cse57
Messages: 131
Registered: July 2011
Location: chennai
Senior Member
how to use desc inside pl sql block?
Re: how to use desc inside pl sql block? [message #518061 is a reply to message #518059] Mon, 01 August 2011 02:38 Go to previous messageGo to next message
Michel Cadot
Messages: 68767
Registered: March 2007
Location: Saint-Maur, France, https...
Senior Member
Account Moderator
You can't, you have to query user_tab_columns.

Regards
Michel
Re: how to use desc inside pl sql block? [message #518062 is a reply to message #518059] Mon, 01 August 2011 02:39 Go to previous messageGo to next message
Littlefoot
Messages: 21826
Registered: June 2005
Location: Croatia, Europe
Senior Member
Account Moderator
The same way you'd use ASC in PL/SQL block, I suppose.

What does your question mean? Where would you want to use DESC? In a SELECT statement? You'd use it as described in documentation. Otherwise, explain what you mean.

[EDIT] So you, Michel, actually understood the question? Wow.

[Updated on: Mon, 01 August 2011 02:40]

Report message to a moderator

Re: how to use desc inside pl sql block? [message #518068 is a reply to message #518062] Mon, 01 August 2011 02:43 Go to previous messageGo to next message
Barbara Boehmer
Messages: 9106
Registered: November 2002
Location: California, USA
Senior Member
Which DESC? DESCribe or DESCending? Describe is a SQL*Plus command that cannot be used within a pl/sql block. Michel suggested a substitute. Descending is used in the order by clause of a select statement, as suggested by Littlefoot. You can use a select statement in a pl/sql block with an into clause.
Re: how to use desc inside pl sql block? [message #518076 is a reply to message #518068] Mon, 01 August 2011 03:17 Go to previous messageGo to next message
vino06cse57
Messages: 131
Registered: July 2011
Location: chennai
Senior Member
describe
Re: how to use desc inside pl sql block? [message #518077 is a reply to message #518076] Mon, 01 August 2011 03:20 Go to previous messageGo to next message
Michel Cadot
Messages: 68767
Registered: March 2007
Location: Saint-Maur, France, https...
Senior Member
Account Moderator
So you have your answer.
And you'd have more appropriate ones and even solutions if you posted your actual (and complete) issue, in short why do you want describe in a PL/SQL block (procedure or anonymous one?).

Regards
Michel
Re: how to use desc inside pl sql block? [message #518078 is a reply to message #518077] Mon, 01 August 2011 03:25 Go to previous messageGo to next message
vino06cse57
Messages: 131
Registered: July 2011
Location: chennai
Senior Member
I need to get the table name and their corresponding column name,to export into MS-Excel
Re: how to use desc inside pl sql block? [message #518079 is a reply to message #518078] Mon, 01 August 2011 03:28 Go to previous messageGo to next message
Michel Cadot
Messages: 68767
Registered: March 2007
Location: Saint-Maur, France, https...
Senior Member
Account Moderator
Quote:
you have to query user_tab_columns.

Regards
Michel
Re: how to use desc inside pl sql block? [message #518081 is a reply to message #518079] Mon, 01 August 2011 03:33 Go to previous messageGo to next message
vino06cse57
Messages: 131
Registered: July 2011
Location: chennai
Senior Member
create or replace procedure t_name_column(abc in char)
as
t_name varchar2(30);
t_column_name varchar2(300);
begin
select table_name ,column_name into t_name,t_column_name 
from user_tab_columns where table_name like abc;
end;

begin
t_name_column('CUSTOMER');
end;



will it works

[Updated on: Mon, 01 August 2011 03:35] by Moderator

Report message to a moderator

Re: how to use desc inside pl sql block? [message #518083 is a reply to message #518081] Mon, 01 August 2011 03:38 Go to previous messageGo to next message
Michel Cadot
Messages: 68767
Registered: March 2007
Location: Saint-Maur, France, https...
Senior Member
Account Moderator
You have to handle the case there is more than one column and the case there is no such table.
Use a cursor loop.

Regards
Michel
Re: how to use desc inside pl sql block? [message #518090 is a reply to message #518083] Mon, 01 August 2011 03:47 Go to previous messageGo to next message
cookiemonster
Messages: 13967
Registered: September 2008
Location: Rainy Manchester
Senior Member
The reason you can't use desc in a pl/sql block is because it is a sqlplus command, not an oracle one.

EDIT: I shouldn't skim read threads. Barbara has pointed that out already.

[Updated on: Mon, 01 August 2011 03:47]

Report message to a moderator

Re: how to use desc inside pl sql block? [message #518092 is a reply to message #518083] Mon, 01 August 2011 03:55 Go to previous messageGo to next message
vino06cse57
Messages: 131
Registered: July 2011
Location: chennai
Senior Member
create or replace procedure t_name_column(table_start in char)
as
     t_name varchar2(30);
     t_column_name varchar2(300);
begin
for c5 in (select table_name ,column_name 
into t_name,t_column_name 
from user_tab_columns where table_name like 'table_start||%')
    loop
           dbms_output.put_line(t_name ||t_column_name);
    
    end loop;

end;

begin
t_name_column('ACCOUNT');
end;


Its not going through loop





[Updated on: Mon, 01 August 2011 04:06] by Moderator

Report message to a moderator

Re: how to use desc inside pl sql block? [message #518095 is a reply to message #518092] Mon, 01 August 2011 03:58 Go to previous messageGo to next message
cookiemonster
Messages: 13967
Registered: September 2008
Location: Rainy Manchester
Senior Member
Re-read Michels link. Your code looks nothing like the examples. the INTO shouldn't be there.
Re: how to use desc inside pl sql block? [message #518097 is a reply to message #518095] Mon, 01 August 2011 04:00 Go to previous messageGo to next message
vino06cse57
Messages: 131
Registered: July 2011
Location: chennai
Senior Member
i couldnt get you?
Re: how to use desc inside pl sql block? [message #518099 is a reply to message #518097] Mon, 01 August 2011 04:06 Go to previous messageGo to next message
Michel Cadot
Messages: 68767
Registered: March 2007
Location: Saint-Maur, France, https...
Senior Member
Account Moderator
Just read the link, there are explainations and examples.

Regards
Michel
Re: how to use desc inside pl sql block? [message #518100 is a reply to message #518092] Mon, 01 August 2011 04:08 Go to previous messageGo to next message
Michel Cadot
Messages: 68767
Registered: March 2007
Location: Saint-Maur, France, https...
Senior Member
Account Moderator
In addition,
like 'table_start||%'

is wrong, it should be something like
like table_start||'%'

Do you see why?

Regards
Michel

[Updated on: Mon, 01 August 2011 04:09]

Report message to a moderator

Re: how to use desc inside pl sql block? [message #518130 is a reply to message #518078] Mon, 01 August 2011 08:14 Go to previous message
joy_division
Messages: 4963
Registered: February 2005
Location: East Coast USA
Senior Member
vino06cse57 wrote on Mon, 01 August 2011 04:25
I need to get the table name and their corresponding column name,to export into MS-Excel


Just for shits and giggles, even if DESCribe did work in PL/SQL, how would you use what it returned?
Previous Topic: Transpose (Not Pivot) a Table
Next Topic: sql query problem
Goto Forum:
  


Current Time: Fri Aug 22 02:26:11 CDT 2025