--这个原因很简单啊 有没有看到running login 这个sql脚本 正在运行
成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于网站设计制作、做网站、繁峙网络推广、小程序制作、繁峙网络营销、繁峙企业策划、繁峙品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供繁峙建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
--这里面有参数没有赋值 要求给出参数值 你写这个脚本可以稍微改下 就不用输参数
--给你一个示例语句吧 有什么问题可以随时找我 希望采纳
DEClare num int:=0;
begin
select num into num from dual ;
delete from 学生基本信息表 where StuID=num; if sql%notfound then
dbms_output.put_line('该行数据没有发现');
else
dbms_output.put_line('数据被发现并删除,影响的行数为:'||sql%rowcount);
end if;
end;
--注 select num into num from dual ; 为了弹出对话框 输入num的值 有没有默认值没有影响
--如果去掉select num into num from dual ; 则直接使用默认值
如果不是windows的话,是不能不设置的。不设置找不到oracle目录位置(ORACLE_HOME就是告诉系统oralce文件安装在什么目录下面了),就执行不了oracle程序文件。而windows有注册表,在你安装过程中,它把这些环境变量加到注册表里面了,所以在window平台不用设置,但是unix和linux是必须在用户profile里面设置。
查看Oracle SQL绑定变量方法如下:
alter session set nls_date_format = 'yyyy-mm-dd,hh24:mi:ss';
set linesize 400
col sql_Id format a20
col name format a20
col datatype_string format a14
col value_string format a20
--这个sql从内存中读取绑定变量值信息,若是不在内存中,则使用下一个sql
select
sql_id,name, datatype_string, last_captured,value_string from
v$sql_bind_capture where sql_id='dxfcacn4t4ppw' order by
LAST_CAPTURED,POSITION;
--这个sql从awr中读取绑定变量值信息
select
instance_number, sql_id,name, datatype_string,
last_captured,value_string from dba_hist_sqlbind where
sql_id='fahv8x6ngrb50'order by LAST_CAPTURED,POSITION;
oracle游标是数据库中一个命名的工作区,当游标被声明后,他就与一个固定的SQL想关联,在编译时刻是已知的,是静态的.它永远指向一个相同的查询工作区.\x0d\x0a游标变量可以在运行时刻与不同的SQL语句关联,在运行时可以取不同的SQL语句.它可以引用不同的工作区.\x0d\x0aoracle游标和游标变量是不能相互代替的.\x0d\x0a如何定义游标类型\x0d\x0aTYPE ref_type_name IS REF CURSOR [RETURN return_type];\x0d\x0a声明游标变量\x0d\x0acursor_name ref_type_name;\x0d\x0a \x0d\x0aref_type_name 是后面声明游标变量时要用到的我们的游标类型(自定义游标类型,即CURSOR是系统默认的,ref_type_name是我们定义的 );return_type代表数据库表中的一行,或一个记录类型\x0d\x0aTYPE ref_type_name IS REF CURSOR RETURN employee%TYPE\x0d\x0aRETURN 是可选的,如果有是强类型,可以减少错误,如果没有return是弱引用,有较好的灵活性.\x0d\x0a \x0d\x0a不能在包头里面声明游标变量,注意,但可以定义游标类型,要注意这二者的区别.\x0d\x0a可以声明游标变量作为函数或过程的形式参数.\x0d\x0a%TYPE一个列类型\x0d\x0a%ROWTYPE行类型\x0d\x0a控制oracle游标变量\x0d\x0aOPEN-FOR(打开游标变量,与多行查询连接起来) FETCH(从结果集中取行数据),close(关闭游标变量)\x0d\x0aBULK COLLECT子句将游标变量中的行一次性提取到一个集合中.
有可能会提示错误,导致不能进入到Oracle数据库中。这是因为在安装Oracle数据库软件时没有对Windows系统的环境变量进行设置,所以导致Windows识别不出Oracle的SQLPLUS命令。一般情况下,Oracle数据库在Windows中安装时会自动设置环境变量。如果安装了Oracle数据库软件,但不能在Windows的控制台命令窗口中使用Oracle数据库的登录命令,则有可能是因为没有成功设置好Oracle数据库的环境变量。
为什么需要设置Oracle数据库的环境变量?
这是为了能够在Windows系统中可以使用Oracle数据库的各种命令。
安装数据库出现问题时,可以手工在Windows系统中设置Oracle的环境变量,如PATH、ORACLE_HOME、ORACLE_SID的值。
例2-6:如何手工在Windows中设置Oracle的环境变量?
如果在Windows系统的命令窗口中不能成功地进入到Oracle数据库中,需要按照下面的步骤来设置Oracle数据库的环境变量。
SQLPLUS命令的处理程序一般是在Oracle安装目录下的$ORACLE_HOME\BIN目录中(如作者本机的目录为D:\Program File\oracle\product\10.2.0\db_1\BIN),这里面应该有一个名叫sqlplus.exe的可执行文件。如果没有这个文件,说明安装的Oracle数据库软件是有问题的。
如果存在sqlplus.exe文件,可用鼠标选择【我的电脑】,然后右击,从弹出的快捷菜单中
一、符号的处理方案
1、在前面加上语句set define off
首先要理解是做什么的,这个符合在Oracle中表示替代变量,执行时会提示用户输入,然后以及后面的字符会替换为用户输入的字符。
set define off的作用是关闭替代变量功能。当然你还可以把替代变量改为其它符号,比如改为*号,输入这个命令:set define *
2、在SQL语句中将分拆并替换成chr(38)
38是的ASCII码,实例sql
3、分拆出号,这也是最简单直接的方法
二、符号'的处理方案
1、直接转义
2、分拆转义
3、分拆并替换成chr(39)