存储过程打印信息
① oracle变量赋值及打印
oracle变量赋值及打印需要用存储过程实现。
如:
sql">declare
v_begintimevarchar2(20);
v_endtimevarchar2(20);
v_strvarchar2(10);
begin
v_begintime:=to_char(sysdate,'yyyy-mm-ddhh24:mi:ss');
select'badkano'intov_strfromal;--为v_str变量赋值
v_endtime:=to_char(sysdate,'yyyy-mm-ddhh24:mi:ss');
dbms_output.put_line(v_str||'执行存储过程开始时间为:'||v_begintime);--打印
dbms_output.put_line(v_str||'执行存储过程结束时间为:'||v_endtime);--打印
end;
执行结果:
② 如何可以打印(显示)出存储过程中的SQL字符串
你可以在他注释--print @sql那里加上一句
select @sql
在下面就可以看到sql语句了,不过你要设置栏位的长度
或者之间就print @sql
在消息栏里就可以看见语句了
③ 存储过程中加print @strSql是不是多余了,不是说打印不出来的吗
可以打印出来,但只能在后台运行才可以看到,print一般是测试的时候才用到
④ oracle存储过程中利用游标打印临时表中内容
你用的是那个游标没用,稍微修改一下。定义也不要。
OPEN CUR_BANKBOOK for 'select RIQI,Currency,Summary,Amount from detailD_E order by RIQI';
for cur_balance IN cur_BANKBOOK LOOP
改成
for cur_balance IN (select RIQI,Currency,Summary,Amount from detailD_E order by RIQI ) loop
open的那个,和 定义的那行就别要了。
⑤ sql语句编写存储过程,使用游标循环打印学生表中的数据,求大神
写一个例子给楼主看下就知道了:
在sqlserver2000中新建一个存储过程:
CREATEPROCEDUREPK_Test
AS
//声明1个变量
declare@namenvarchar(20)
//声明一个游标mycursor,select语句中参数的个数必须要和从游标取出的变量名相同
//打开游标
openmycursor
//从游标里取出数据赋值到我们刚才声明的2个变量中
fetchnextfrommycursorinto@name
//判断游标的状态
//0fetch语句成功
//-1fetch语句失败或此行不在结果集中
//-2被提取的行不存在
while(@@fetch_status=0)
begin
//显示出我们每次用游标取出的值
print'游标成功取出一条数据'
print@name
//用游标去取下一条记录
fetchnextfrommycursorinto@name
end
//关闭游标
closemycursor
//撤销游标
deallocatemycursor
GO
⑥ 在sql存储过程中Print如何来设置时间
如果是判断存储过程的运行时间,那么你@BeginTime2应该是在运行开始时,赋为当前日期值,在存储过程最后打印,实际基本可以判断出运行的分钟数了吧。
日期类型需要转换为字符串才能和字符串拼接
Convert(varchar(20),getdate(),20) 是日期转换字符串的转换函数其中最后的20是字符串格式化参数,比如Convert(varchar(20),getdate(),113),Convert(varchar(20),getdate(),120)都可以转换为不同格式的日期显示格式
Cast是强制类型转换,在这里是将int类型转换为字符串,使用方式举例:cast (123 as varchar) ,cast('2434' as int) 具体可以看看SQL帮助(查询分析器按F1)
Datediff是日期比较函数, 其中mi指两个时间的分钟差额,返回的是int类型,如果要拼到字符串中,也需要转换为字符串.datediff还可以判断相差的天数:
datediff(dd,'2010-12-25',getdate()) 年数、秒数等等,具体可以参考帮助和自己动手实验了。
⑦ 哪位高手知道 mysql 存储过程中 打印语句是什么
Mysql存储过程中没有打印语句,可以用select 来代替,比如:
select @var;