--pl/sql如下:
declare
rout varchar2(100);
re varchar2(100);
begin
re:= zhiydba.f_login('33','444',rs_msg => rout);
if re<>'-1' then
rout:='';
end if;
--select rout
end ;怎么以数据表的形式返回rout的值
declare
rout varchar2(100);
re varchar2(100);
begin
re:= zhiydba.f_login('33','444',rs_msg => rout);
if re<>'-1' then
rout:='';
end if;
--select rout
end ;怎么以数据表的形式返回rout的值
解决方案 »
- 请问哪里可以下载ORACLE远程登录查询分析器客户端软件!!!!!!
- 请教各位PL/SQL中单步调试ORACLE存储过程的问题,多谢
- 如何查看ORACLE 数据库的操作日志
- 急救:Oracle不支持IF not Exists(),怎么写?
- 使用pl/sql server page 的入门级问题
- 使用toad别名的问题
- ****请高手帮忙,如何给物化视图中的字段加索引****
- oracle企业管理器登陆时得问题
- oracle如何编程改变initorcl.ora中的参数audit_trial?
- help!!!hive sql求学生连续报读次数,两次报读时间在半年内算一次
- oralce中sql优化
- 求解决方案(oracle查询)
var cur refcursor;--执行块
DECLARE
rout VARCHAR2(100);
re VARCHAR2(100);
BEGIN
re := zhiydba.f_login('33', '444', rs_msg => rout);
IF re <> '-1' THEN
rout := '';
END IF;
OPEN :cur FOR
SELECT rout FROM dual;
END;
/--打印游标
print cur;
--在sqlplus在中执行块
--声明变量
var cur refcursor;
--执行块
DECLARE
rout VARCHAR2(100);
re VARCHAR2(100);
BEGIN
re := zhiydba.f_login('33', '444', rs_msg => rout);
IF re <> '-1' THEN
rout := '';
END IF;
OPEN :cur FOR
SELECT rout FROM dual;
END;
--打印游标
print cur;
";
using (OracleConnection conn = new OracleConnection(connStr))
{
conn.Open();
OracleCommand cmd = conn.CreateCommand();
cmd.CommandText = sql;
cmd.CommandType = System.Data.CommandType.Text; object result = cmd.ExecuteOracleScalar();
}返回的result 值要等于查询结果rout ,还需要对sql进行修改吗?
而且你可以通过给过程传递参数,返回不同表中对数据到dateset中
CREATE OR REPLACE PROCEDURE p_getret(cur OUT SYS_REFCURSOR) IS
rout VARCHAR2(100);
re VARCHAR2(100);
BEGIN
re := zhiydba.f_login('33', '444', rs_msg => rout);
IF re <> '-1' THEN
rout := '';
END IF;
OPEN cur FOR
SELECT rout FROM dual;
END;
/
我试了下下面这种写法,但不行declare
rout varchar2(100);
re varchar2(100);
begin
re:= zhiydba.f_login('33','444',rs_msg => rout);
if re<>'-1' then
rout:='';
end if;--输出结果
WITH TEST AS(
SELECT rout AS result FROM Dual
)
select * from TEST;end;