ORACLE变量定义及使用(另,T-SQL EXISTS的PLSQL替代写法)
2015-01-27 11:51
295 查看
1. 简单变量
declare v_cnt NUMBER(10,0) := 0;
BEGIN
SELECT COUNT(1) INTO v_cnt FROM concept.Decoction WHERE DecoctionId = -1;
IF v_cnt = 0 THEN
insert into concept.Decoction( DecoctionId, Code, Name, MnemonicCode, SpellCode, WBCode, ClinicItemId, IsSpecial, IsDeleted, RowVersion, IsNeedAccount ) values
( -1, NULL, NULL, Null, NULL, NULL, -1, 0, 0, SYSDATE, 0 );
END IF;
END;
2. 以表的字段类型定义的变量
create table DBO.TEST_TBL
(
ID NUMBER(10) NOT NULL PRIMARY KEY
);
declare v_cnt CONCEPT.decoction.DecoctionId%type := 0;
BEGIN
SELECT DecoctionId INTO v_cnt FROM concept.Decoction WHERE DecoctionId = -1;
INSERT INTO DBO.TEST_TBL SELECT v_cnt from dual;
END;
select * from DBO.TEST_TBL;
3. 以表的行定义的变量
drop table DBO.TEST_TBL;
create table DBO.TEST_TBL
(
ID NUMBER(10) NOT NULL PRIMARY KEY
);
declare v_row CONCEPT.decoction%rowtype;
BEGIN
SELECT * INTO v_row FROM concept.Decoction WHERE DecoctionId = -1;
INSERT INTO DBO.TEST_TBL SELECT v_row.DecoctionId from dual;
END;
select * from DBO.TEST_TBL;
4. 以记录类型定义的变量
drop table DBO.TEST_TBL;
create table DBO.TEST_TBL
(
ID NUMBER(10) NOT NULL PRIMARY KEY,
NAME nvarchar2(50)
);
declare
type v_flds is record(
ID concept.Decoction.DecoctionId%type,
NAME concept.Decoction.Name%type);
v_row v_flds;
BEGIN
SELECT DecoctionId,Name INTO v_row FROM concept.Decoction WHERE DecoctionId = 62;
INSERT INTO DBO.TEST_TBL SELECT v_row.ID, v_row.NAME from dual;
END;
select * from DBO.TEST_TBL;
declare v_cnt NUMBER(10,0) := 0;
BEGIN
SELECT COUNT(1) INTO v_cnt FROM concept.Decoction WHERE DecoctionId = -1;
IF v_cnt = 0 THEN
insert into concept.Decoction( DecoctionId, Code, Name, MnemonicCode, SpellCode, WBCode, ClinicItemId, IsSpecial, IsDeleted, RowVersion, IsNeedAccount ) values
( -1, NULL, NULL, Null, NULL, NULL, -1, 0, 0, SYSDATE, 0 );
END IF;
END;
2. 以表的字段类型定义的变量
create table DBO.TEST_TBL
(
ID NUMBER(10) NOT NULL PRIMARY KEY
);
declare v_cnt CONCEPT.decoction.DecoctionId%type := 0;
BEGIN
SELECT DecoctionId INTO v_cnt FROM concept.Decoction WHERE DecoctionId = -1;
INSERT INTO DBO.TEST_TBL SELECT v_cnt from dual;
END;
select * from DBO.TEST_TBL;
3. 以表的行定义的变量
drop table DBO.TEST_TBL;
create table DBO.TEST_TBL
(
ID NUMBER(10) NOT NULL PRIMARY KEY
);
declare v_row CONCEPT.decoction%rowtype;
BEGIN
SELECT * INTO v_row FROM concept.Decoction WHERE DecoctionId = -1;
INSERT INTO DBO.TEST_TBL SELECT v_row.DecoctionId from dual;
END;
select * from DBO.TEST_TBL;
4. 以记录类型定义的变量
drop table DBO.TEST_TBL;
create table DBO.TEST_TBL
(
ID NUMBER(10) NOT NULL PRIMARY KEY,
NAME nvarchar2(50)
);
declare
type v_flds is record(
ID concept.Decoction.DecoctionId%type,
NAME concept.Decoction.Name%type);
v_row v_flds;
BEGIN
SELECT DecoctionId,Name INTO v_row FROM concept.Decoction WHERE DecoctionId = 62;
INSERT INTO DBO.TEST_TBL SELECT v_row.ID, v_row.NAME from dual;
END;
select * from DBO.TEST_TBL;
相关文章推荐
- 深入ORACLE变量的定义与使用的详解
- Oracle变量的定义、赋值及使用
- ORACLE 变量的定义和使用
- Oracle PLSQL Demo - 01.定义变量、打印信息
- Oracle中替代变量(动态参数)的使用
- oracle 定义游标的时候使用变量作为表名
- ORACLE 变量的定义和使用
- 【2016-10-28】【坚持学习】【Day15】【Oracle】【变量 定义 使用】
- ORACLE中对in操作使用变量绑定的方法
- JSP页面如何访问标签中定义的变量-使用实现
- 使用SQL2000的翻页写法,也适用于其他数据库,例如ORACLE
- SAP 中如何使用指针或替代变量?
- ORACLE绑定变量的使用
- 在JAVA 源程序中编写SQL语句时使用ORACLE 绑定变量
- 在ASP.net中如何定义和使用全局变量
- oracle游标中可以定义变量
- javascript中的变量如果没有定义就使用的话
- 在JAVA 源程序中编写SQL语句时使用ORACLE 绑定变量
- CMakeLists.txt文件写法(4):使用变量
- JSP教程(三)--JSP中”预定义变量”的使用