当前位置:首页 » 编程语言 » plsqlsql变量
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

plsqlsql变量

发布时间: 2022-01-14 06:46:37

1. plsql查询表中变量某段时间的值

select*
fromtabxxx
wheredtcol>=to_date('2017-06-01','yyyy-mm-dd')
anddtcol<=to_date('2017-06-3023:59:59','yyyy-mm-ddhh24:mi:ss')

2. 在plsql中,如何使用变量计算的结果

在plsql中两种符号的含义是不同的,下面分别举例说明:
:= 是赋值符号,X := 100 的含义是把100这个数值赋给X,即之后X的值就为100;
= 是比较符号,Y=Y+2X 是个布尔表达式,它的含义是比较 Y 与 Y+2X 是否相等,相等则返回“真”true,否则返回“假”false

3. plsql如何测试sql,动态传入变量值。 比如:user表有id,name,age。 updat

加&<name>

引号内同样管用,字符类型

'&<name>' 或者 输入的时候 加''

4. plsql变量初始化一次

初始化语句只执行一次.
{int var_a=9;.....} 花括号括起的部分是一个 “域”(块),每次 进入时 给 var_a, 分配单元,执行一次初始化,退出块时,删除单元。
while(true)重复:{ 进入 分配 初始化 删除 退出 }。

5. plsql如何动态的使用变量

加&<name>

引号内同样管用,字符类型

'&<name>' 或者 输入的时候 加''

6. oracle pl/sql中如何使用变量

定义并使用变量

PL/SQL有四种类型:标量类型,复合类型,引用类型 (reference),LOB(Large Obejct)类型

一、标量类型

最常用的就是标量类型,是指只能存放单个数值的变量,包括数字类型、字符类型、日期类型和布尔类型,每种类型又包含相应的子类型。

常量标量类型如下:

VARCHAR2 (n) , CHAR (n), NUMBER (p,s),DATE, TIMESTAMP , LONG , LONG RAW ,BOOLEAN,BINARY_INTEGER(仅 PL / SQL使用),BINARY_FLOAT和BINARY_DOUBLE(10g新引入的)

定义标量:

identifier [CONSTANT] datatype [NOT NULL] [:=| DEFAULT expr]

使用标量需要注意的是=号被:=取代,与delphi一样的赋值符号@_@

例子:

v_name VARCHAR2 ( 10 );
v_rate CONSTANTS NUMBER ( 4 , 2 ) : = 3.04 ;

为了防止定义的变量类型与表中的字段类型不一致,可以使用%TYPE来定义:

v_name employee.name % TYPE;

如上面所示,v_name的类型就与表 employee中的name字段类型一样!!

二、复合变量:

用于存放多个值的变量称为复合变量,包括PL/SQL记录,PL/SQL表,嵌套表和VARRAY四种类型

1.PL/SQL记录

类似于C/C++中的结构概念:

declare
TYPE employee_record is RECORD(
id employee.id % TYPE,
name employee.name % TYPE,
email employee.email % TYPE);
em_record employee_record;
begin
select id,name,email into em_record from employee where name =& name;
dbms_output.put_line( ' 雇员名: ' || em_record.name || ' 雇员ID: ' || em_record.id);
end ;

2.PL/SQL表,类似于数组概念,不同的是PL/SQL表允许负值下标,而且没有上下限,如:

declare
TYPE employee_table is table of employee.name % TYPE index by BINaRY_INTEGER;
em_table employee_table;
begin
select name into em_table( - 1 ) from employee where name =& name;
dbms_output.put_line( ' 雇员名: ' || em_table( - 1 ));
end ;

3.嵌套表,与PL/SQL 表相似,不同的是嵌套表可以做表列的数据类型,而PL/SQL表不能,使用嵌套表作为表列时,必须为其指定专门的存储表,如:

create or replace TYPE emp_type as OBJECT(name VARCHAR2 ( 10 ),salary NUMBER ( 6 , 2 ),hiredate DATE);

CREATE OR REPLACE TYPE emp_array IS TABLE OF emp_type;

CREATE TABLE department(
deptno NUMBER ( 2 ),dname VARCHAR2 ( 10 ),
employee emp_array)NESTED TABLE employee STORE as employee_dept;

4.VARRAY(变长数组),与嵌套表相似,也可以做为表列的数据类型,但是嵌套表没有个数限制,而VARRAY有个数限制,如:

CREATE TYPE TEST_ARRAY IS VARRAY(20) OF emp_type;

三、引用变量(reference)

类似于C++中的指针或者JAVA中引用的概念,用于存放数值指针的变量,使用此变量,可以使得应用程序共享相同对象,降低占用空间。此类有两种类型:游标(REF CURSOR)和对象类型(REF OBJECT)

1.REF CURSOR,定义时同时指定SELECT语句的游标称为显式或者静态游标,在打开时才指定SELECT语句的游标称为动态游标,如:

DECLARE
TYPE c1 IS REF CURSOR ;
emp_cursor c1;
v_name employee.name % TYPE;
v_sal employee.salary % TYPE;
begin
open emp_cursor for
SELECT name,salary FROM EMPLOYEE ;
LOOP
FETCH emp_cursor INTO v_name,v_sal;
EXIT WHEN emp_cursor % NOTFOUND;
dbms_output.put_line(v_name);
END LOOP;
close emp_cursor;
end ;

2.REF OBJECT,与JAVA的引用概念相同,存储的是指向对象的指针

四、LOB类型

LOB类型是指用于存储大批量数据的变量,包括内部的3种(CLOB,BLOB,NCLOB)和外部LOB(BFILE)。
CLOB,NCLOB用于存储大量的字符数据。
BLOB用于存储大批量二进制数据(如图象)。
BFILE则存储指向OS文件的指针。

7. plsql 字符串中怎么用变量

在变量名两边加上单引号就可以了。tbs_array tbs_type_array:=tbs_type_array('tbs1','tbs2');

8. plsql配置环境变量

本方法是通过使用ORACLE官方提供的精简版客户端,即绿色免安装的客户端。
下载地址(此处提供的是官方各版本下载地址):
Windows
32位系统中使用的客户端下载地址
其他系统环境中使用的客户端下载地址
Instant
client的版本很多:主要是Basic和Basic
Lite。
Basic版本包括了所有的支持运行OCI、OCCI、JDBC、JDBC-OCI的文件,支持多种语言。
Basic
Lite是Basic版本的精简版,只包括了英文的错误描述,也只支持Unicode、ASCII和欧洲字符集。
因此,如果数据库服务器是中文字符集(如
SIMPLIFIED
CHINESE_CHINA.ZHS16GBK),则必须下载Basic版本。

9. PLSQL中,select 变量 from al 怎么写

PLSQL中,select 变量 from al 怎么写
declare
m_sql_string varchar(1024);
m_month date:=sysdate;
begin

m_month:=add_months(m_month,-1);
m_sql_string:='insert into yc_oper_log select ''bill'',sysdate,m_month from al';
execute immediate m_sql_string;

commit;
end;

ORA-00904: "M_MONTH": 无效的标识符
ORA-06512: 在line 8

SQL>

我用的是动态SQL。

10. PLSQL中动态SQL关于绑定变量使用

'create sequence seq_test increment by 1 start with :ID '; 这一句, 应该写start with :1 吧.