存储过程结果集输出
① 怎么在oracle存储过程中输出查询结果集
如果是存储过程 要调用相应的存储过程
exec prore_name (参数) 执行才能输出结果
你也可以到网上查查看
② 怎样得到mysql存储过程多条语句的结果集
存储过程经常需要返回多个结果集。 Mysql 中直接用 select 即可返回结果集。而 oracle 则需要使用游标来返回结 果 集。这一点 Mysql 相对比较方便,如下代码即可实现输出两个结果集:
CREATE PROCEDURE test_proc_multi_select()
BEGIN
select * from testproc;
select * from testproc where id=1;
END;
java 中利用循环,即可获取结果集数据:
con = MConnection.getConn();
String sql = "{call test_proc_multi_select()}";
cs = con.prepareCall(sql);
boolean hadResults = cs.execute();
int i = 0;
while (hadResults) {
System.out.println("result No:----" + (++i));
ResultSet rs = cs.getResultSet();
while (rs != null && rs.next()) {
int id1 = rs.getInt(1);
String name1 = rs.getString(2);
System.out.println(id1 + ":" + name1);
}
hadResults = cs.getMoreResults(); // 检查是否存在更多结果集
}
③ sql执行存储过程 如何输出结果
sql
server存储过程
输出结果集
还是比较简单的.
直接在
存储过程里面执行
sql
语句就可以了。
例如:
--
测试返回结果集的存储过程
create
procere
testproc
as
begin
select
'hello
1'
as
a,
'world
1'
as
b
union
all
select
'hello
2'
as
a,
'world
2'
as
b;
end
go
剩下的,
就是你用
别的开发语言,
例如
c#
什么的
,
调用这个存储过程,
获取结果集了。
④ oracle怎么把存储过程查询出来的结果集显示出来
create or replace procere p_cnt(
p_time in varchar2,---查询的条件
p_cur out SYS_REFCURSOR)---游标返回
IS
v_sql varchar2(1000) :='';
v_date varchar2(20);
BEGIN
v_date := replace(p_time, '-', '');---时间的格式转换
v_sql := 'select * from dapartment d where d.d_time ='''|| v_date||'''';
END;
OPEN p_cur FOR v_sql;
END p_cnt;
⑤ 存储过程怎么输出并接收多个值
输出用游标。
输入的话,用多个参数,或直接把参数都拼接成一个字符串,每个参数之间用一个特定的符号隔开(例如:|),然后在过程里面把字符串截成一个一个的参数。
⑥ oracle存储过程如何输出信息
可用DBMS_OUTPUT.PUT_LINE()对存储过程的进行输出。
编写存储过程:
create or replace procere test_pro(in_num number)
as
M number;
begin
M := in_num;
if 0 < M then
dbms_output.put_line('输出SQL语句1');
elsif M < 3 then
dbms_output.put_line('输出SQL语句2');
else
dbms_output.put_line('nothing');
end if;
end;
(6)存储过程结果集输出扩展阅读;
存储在数据库的数据字典中,存储在当前的应用中安全性由数据库提供安全保证,必须通过授权才能使用存储子程序,安全性靠应用程序来保证,如果能执行应用程序,就能执行该子程序。模式描述IN参数用来从调用环境中向存储过程传递值,不能给IN参数赋值,给此参数传递的值可以是常量、有值的变量、表达式等。
⑦ oracle高手快来看看,我想写一个输出结果集的存储过程并执行
create or replace procere p_selTabSpace(v1
dba_data_files.tablespace_name%type)
as
var1 dba_data_files.tablespace_name%type;
var2 number;
var3 number;
var4 number;
begin
select a.a1 "tabSpaceName",b.b2/1024/1024 "tabSpaceSize",round((b.b2 -
a.a2) / 1024 / 1024, 2) "tabSpaceUsed",substr((b.b2 - a.a2) / b.b2, 1,
7) "tabSpaceVused" into var1,var2,
var3,var4
from
(select tablespace_name a1, sum(nvl(bytes, 0)) a2
from dba_free_space
group by tablespace_name) a,
(select tablespace_name b1, sum(bytes) b2
from dba_data_files
group by tablespace_name) b,
(select tablespace_name c1, contents c2, extent_management c3
from dba_tablespaces) c
where a.a1=UPPER(v1) and a.a1 = b.b1 and c.c1 = b.b1;
DBMS_OUTPUT.PUT_LINE('tabSpaceName is'||UPPER(VAR1)||'
'||'tabSpaceSize'||var2||' '||'tabSpaceUsed'||var3||'
'||'tabSpaceVused'||var4);
END;
--------------------------------TEST-------------------------
EXECUTE p_selTabSpace('system');
你想得到结果集是用来存放单行的数据还是存放多行的数据,如果是后者的话,单纯的select...into...这种方法是实现不了的,原因是你不可以将一列的多个结果都付给同一个变量,这也就是使用select...into...这种方式的一种局限,如果想用来存放多行结果就要向楼上说的那样使用游标或者是复合数据类型才可以。
⑧ sqlserver2008存储过程如何并列显示输出结果集
sql server存储过程 输出结果集 还是比较简单的.
直接复在 存储过程里面执行 SQL 语句就可以了。
例如:
-- 测试制返回结果集的存储过程
CREATE PROCEDURE testProc
AS
BEGIN
SELECT 'Hello 1' AS A, 'World 1' AS B UNION ALL
SELECT 'Hello 2' AS A, 'World 2' AS B;
END
go
剩下的, 就是你用 别的开发知语言, 例如 C# 什么的道, 调用这个存储过程, 获取结果集了。
⑨ mysql数据库中的存储过程如何输出结果集啊
在数据库中设计表时设计一个主键,在java中运用框架技术,通过List接口和ArrayList类来存储,
通过加载数据库驱动,连接数据库,返回结果集,并通过方法调用
⑩ sql server存储过程如何输出结果集
sql
server
存储过程
输出
结果集
还是比较简单的.
直接在
存储过程里面执行
SQL
语句就可以了。
例如:
--
测试返回结果集的存储过程
CREATE
PROCEDURE
testProc
AS
BEGIN
SELECT
'Hello
1'
AS
A,
'World
1'
AS
B
UNION
ALL
SELECT
'Hello
2'
AS
A,
'World
2'
AS
B;
END
go
剩下的,
就是你用
别的开发语言,
例如
C#
什么的
,
调用这个存储过程,
获取结果集了。