解决方案 »
- 我想在代码中加个exception请问怎么加?
- 维护及日志记录问题
- pl/sql的case when怎么用呢?
- 请教oracle数据导出导入问题!!!!急!!!!!
- PL/SQL添加的表在Tables视图中查不到
- PL/SQL中建立触发器的问题
- ●为什么这里不能用COMMIT?(CURSOR...FOR UPDATE...的循环中)
- 在oracle中添加多列以及没列解释的sql语句
- oracal sequence 在jsp中的问题
- 为什么,将客户端开一会儿,就连接不上,出现错误提示“ORA-03113:通信通道的文件结束”?
- 某天按小时分组统计短信发送量 (中国电信短信推送)
- 创建一个角色,赋予一个用户的读写权限,一个用户的只读权限
STB_REC STB%ROWTYPE;
DOC_TYEP VARCHAR2(20) :='R';
A VARCHAR(20) :='D';
BEGIN
IF DOC_TYEP=A THEN
SELECT * INTO STB_REC FROM STB WHERE DR_TYPE='R'
ELSE
SELECT * INTO STB_REC FROM STB WHERE DR_TYPE='D'
end
STB_REC STB%ROWTYPE;
DOC_TYEP VARCHAR2(20) :='R';
A VARCHAR(20) :='D';
BEGIN
IF DOC_TYEP=A THEN
SELECT * INTO STB_REC FROM STB WHERE DR_TYPE='R'
ELSE
SELECT * INTO STB_REC FROM STB WHERE DR_TYPE='D'
end我主要是用于书写erp软件的报表,但是你是将结果插入到STB_REC 里边的了,而我报表还是没法呈现查询的内容的哦。
STB_REC STB%ROWTYPE;
DOC_TYEP VARCHAR2(20) :='R';
A VARCHAR(20) :='D';
BEGIN
IF DOC_TYEP=A THEN
SELECT * INTO STB_REC FROM STB WHERE DR_TYPE='R'
ELSE
SELECT * INTO STB_REC FROM STB WHERE DR_TYPE='D'
end我主要是用于书写erp软件的报表,但是你是将结果插入到STB_REC 里边的了,而我报表还是没法呈现查询的内容的哦。
oracle程序中必须select into,不能够直接select,因为直接这样没法调用。
你可以直接SQL:
select * from STB where dr_type=decode(doc_tyep,'A','R','D')
STB_REC STB%ROWTYPE;
DOC_TYEP VARCHAR2(20) :='R';
A VARCHAR(20) :='D';
BEGIN
IF DOC_TYEP=A THEN
SELECT * INTO STB_REC FROM STB WHERE DR_TYPE='R'
ELSE
SELECT * INTO STB_REC FROM STB WHERE DR_TYPE='D'
end
如果查询到的是多行记录,程序是不是就不太合适了?
STB_REC STB%ROWTYPE;
DOC_TYEP VARCHAR2(20) :='R';
A VARCHAR(20) :='D';
BEGIN
IF DOC_TYEP=A THEN
SELECT * INTO STB_REC FROM STB WHERE DR_TYPE='R'
ELSE
SELECT * INTO STB_REC FROM STB WHERE DR_TYPE='D'
end
如果查询到的是多行记录,程序是不是就不太合适了?
对的,查询多条记录会报错,那样最好用游标或者数组