‘壹’ ORACLE 定义存储过程时,什么时候需要使用DECLARE 可以不用它吗 请不要随便复制粘贴,请举例说
oracle 的存储过程里没有declare的语法,触发器和plsql块才是declare
如果要定义变量,后面直接跟is的
CREATE OR REPLACE PROCEDURE c(xxx)
IS
para number;
BEGIN
end;
‘贰’ oracle 里面declare怎么用啊
1、启动plsql并登陆oracle数据库。
‘叁’ oracle动态执行sql语句报错请各位大虾帮忙看一下哪里出错了!
你的这句sql有些问题。你这里的count('username') 干嘛要加引号啊?
DECLARE
sql_string VARCHAR2(100);
BEGIN
sql_string := 'select count(username) from sys.user_users' ;
dbms_output.put_line( sql_string);
EXECUTE IMMEDIATE sql_string;
END;
这样就可以了。
如果你的username是想动态的反映当前的登录用户的话要改成user。如下:
DECLARE
sql_string VARCHAR2(100);
BEGIN
sql_string := 'select count('||user||') from sys.user_users' ;
dbms_output.put_line( sql_string);
EXECUTE IMMEDIATE sql_string;
END;
但是也不能执行成功因为user_users' 里面不一定有这个列。
‘肆’ oracle存储过程循环执行SQL语句
实现方式错了,批量移动数据应该使用Cursor,而不是像分页那样每次都查询。
每次都查询可能会导致重复数据。
正确方式应该是打开一个Cursor,循环Cursor来插入,使用计数器来控制每次COMMIT的行数:
declare
TYPE R_CURSOR IS REF CURSOR;
i number;
a1_cursor R_CURSOR;
a1_row A1%ROWTYPE;
begin
open a1_cursor FOR
select ID, NAME from A1;
i := 0;
loop
fetch a1_cursor
into a1_row;
exit when a1_cursor%notfound;
INSERT INTO A2 VALUES a1_row;
i := i + 1;
if i >= 5 then
commit;
i := 0;
end if;
end loop;
close a1_cursor;
commit;
end;
‘伍’ 使用oracle 11g 时写pl/sql 语句declare..begin..and.. 执行后连个提示都没有,怎样显示出提示和结果
define _editor='D:Program Files (x86)IDM Computer SolutionsUltraEditUedit32.exe'
set serveroutput on size 1000000
set num 38
set trimspool on
set long 5000
set linesize 450
set pagesize 9999
set NULL<null>
column plan_plus_exp format a70
column global_name new_value gname
set termout off
define gname=idle
column global_name new_value gname
select lower(user)||'@'||substr(global_name,1,decode(dot,0,length(global_name),dot-1)) global_name
from(select global_name,instr(global_name,'.') dot from global_name);
set sqlprompt '&gname>'
set termout on
set time on
set timing on
把这个脚本保存为login.sql, 放在
目录下(如图),也可以设置SQL_PATH变量(好像是这个名字,忘记了),第一行可以修改为自己常用的文本编辑器的程序目录(为ed命令所用)。
其余的不解释了。名字一定要为login.sql。
‘陆’ oracle里这种declare语句块叫什么家伙
declare age number(4);--声明一个参数a,类型为number,类型长度为4,操作方法如下:
1、首先在oracle数据库中,应用%type类型读取订单信息表中 ,购买的订单的总金额和订单数量。
‘柒’ oracle pl/sql 语句declare..begin..and.. 执行后没有显示结果,只有pl/sql执行成功,怎样显示出结果
可以通过dbms_output.put_line()将结果输出
括号中写字符串变量,或字符串。
执行后,在sql窗口的 输出页面查看输出结果。
解决后记得采纳。
‘捌’ linu下进入oracle用户提示declare什么东西而且无法使用sqlpuls dbca等命令。。。
su - oracle
export PATH=$ORACLE_HOME/bin:$PATH
当然你要配置ORACLE_HOME
如果你连ORACLE_HOME都不会配置,建议还是先别安装了,先看看oracle安装的基础知识在安装,不然即使解决了这个问题,以后还会出现很多问题。仍然解决不了。
‘玖’ oracle 视图sql语句怎么写
oracle中,创建视图的基本方式是:
create or replace view 视图名称 as + 查询语句
举例如下:
--1.新建dept表的视图
createorreplaceforceviewtest_viewas
select*fromdept;
--2.查看视图
select*fromtest_view;
‘拾’ declare 在Oracle中声明变量 这么使用变量
[TEST1@orcl#15-4月 -10] SQL>set serveroutput on
[TEST1@orcl#15-4月 -10] SQL>declare
2 v_num number;
3 begin
4 select count(*) into v_num from tab;
5 dbms_output.put_line(v_num);
6 end;
7 /
15
PL/SQL 过程已成功完成。