【发布时间】:2015-05-07 12:18:48
【问题描述】:
我有一个生成报告的问题,需要它从 SQL 表中获取数据,并将表的名称与她的 ID 放在查询生成的数据下方
COD_CLIENTE NOME ENDERECO CPF
2 Fulano Av. Rio Branco 2837462890
3 Ciclano Rua Zero 4625427282
4 Beltrano Rua Doze 2634623637
我创建了这个程序
create or replace PROCEDURE COLUNAS_TESTE AS
Cursor linha is
Select cod_cliente, nome, endereco, cpf from clientes where rownum < 4;
rLin linha%rowtype;
BEGIN
Open linha;
Loop
Fetch linha into rLin;
Exit when linha%notFound;
dbms_output.put_line('Linha: '||rLin.cod_cliente||' Coluna: 2'||' Valor: '||rLin.Nome);
dbms_output.put_line('Linha: '||rLin.cod_cliente||' Coluna: 3'||' Valor: '||rLin.Endereco);
dbms_output.put_line('Linha: '||rLin.cod_cliente||' Coluna: 4'||' Valor: '||rLin.CPF);
End loop;
Close linha;
END;
生成这个结果
Linha: 2 Coluna: 2 Valor: Fulano
Linha: 2 Coluna: 3 Valor: Av. Rio Branco
Linha: 2 Coluna: 4 Valor: 2837462890
Linha: 3 Coluna: 2 Valor: Ciclano
Linha: 3 Coluna: 3 Valor: Rua Zero
Linha: 3 Coluna: 4 Valor: 4625427282
Linha: 4 Coluna: 2 Valor: Beltrano
Linha: 4 Coluna: 3 Valor: Rua Doze
Linha: 4 Coluna: 4 Valor: 2634623637
行和值 好的,他得到了代码,但是我需要两个报告,一个代替他放置字段名称的列,另一个放置列索引,gambiarra 确实放置了“固定”,但是动态需要它,希望你能解释一下。
甚至设法选择搜索这些数据,但无法将其与我的专栏相关联,如果有人可以提供帮助并且我已经能够解释问题。
select COLUNAS.COLUMN_ID AS COLUNAS_ID ,COLUNAS.COLUMN_NAME AS COLUNAS_NOME
from USER_TAB_COLUMNS COLUNAS
where COLUNAS.TABLE_NAME = 'CLIENTES';
【问题讨论】:
-
抱歉,没看懂问题。
-
对不起,我会尽量描述得更好。将创建 2 个程序,每个报告一个。客户希望它以这样的方式出现在屏幕上,从而生成行/列/值。目前该列正在通过固定,我需要你在一个过程中动态接收列索引,这是在最后一个选择问题中,而另一个过程中该列接收的列名称在选择中而不是它的价值。我希望你能够正确解释。谢谢。
标签: sql database oracle procedure