plsql

How to insert records into variables from cte in oracle?

跟風遠走 提交于 2020-04-17 21:26:49
问题 I have a procedure in which I want to fetch all records from cte into Names variable. But this code is not writing into names from CTE. How can I fetch records into names so that I can later loop through names and get content of field_name? CREATE OR REPLACE PROCEDURE sp_market IS Names VARCHAR2(32767); BEGIN WITH CTE(sqql) As ( SELECT field_name sqql FROM pld_medicare_config ) SELECT sqql into Names from CTE; END sp_market; 回答1: SELECT sqql into Names from CTE; You are assigning multiple

PLSQL无法粘贴复制

一笑奈何 提交于 2020-04-06 18:44:16
有2个原因会导致这个问题发生: 一:快捷键设置不正确,按照网上的设置方法把复制粘贴的快捷键重新设置一下,然后重启plsql 二:远程桌面连接开着,关闭后试下(亲测有效) 来源: oschina 链接: https://my.oschina.net/u/4282691/blog/3219408

PLSQL远程连接到Oracle服务器

拈花ヽ惹草 提交于 2020-04-06 13:13:19
这里只介绍一种远程连接服务器方法,即本机安装了Oracle客户端和PLSql工具,服务器安装在虚拟机或者另一台电脑上 1.打开Oracle客户端的Net Manager,选择Oracle Net配置——本地——服务命名,然后创建一个,例如:bjdm_wsdj。在创建的过程中,网络服务名自己起一个即可(这个名字就是之后连接远程服务器的数据库名),通信协议为TCP/IP,主机名是要远程连接的服务器的IP地址,端口号是要远程连接的服务器的端口,一般默认为1521,服务名是要远程连接的服务器的服务名,一般在创建数据库时默认为ORCL,完成后并保存刚才的配置。这一步完成后tnsnames.ora文件中会自动映射出刚才的配置,所以不需要手动修改这个文件中的数据。 2.如果是64位系统还需要另外配置一下PLSql的一项配置,下载并安装PLSql配置应用(instantclient_11_2) 打开PLSql,登录界面点取消,进入后选择菜单栏的Tools——preferences——connection,设置Oracle Home和OCI library 然后将tnsnames.ora文件中新增的配置选中复制到新配置中的tnsnames.ora文件中。 3.重新打开PLSql就会在database中有服务器中的数据库啦,输入连接服务器的用户名和密码就行了。 来源: https://www

PL/SQL如何远程连接ORACLE

匆匆过客 提交于 2020-04-06 13:10:53
如何在没有装ORACLE的电脑上用PLSQL远程连接ORACLE 下载instantclient,我的是WIN7,下载的是instantclient-basiclite-nt-12.1.0.1.0.zip 解压到一个固定的目录如C:\instantclient_plsql 在解压的目录里创建文件network\admin\tnsnames.ora 编辑文件内容,注意IP和PROT要用远程ORACLE的 # tnsnames.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora# Generated by Oracle configuration tools. ORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.176.110)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)

plsql常用函数汇总

霸气de小男生 提交于 2020-04-06 06:30:17
oracle教程:PLSQL常用方法汇总 2010-01-07 在SQLPLUS下,实现中-英字符集转换 alter session set nls_language='AMERICAN'; alter session set nls_language='SIMPLIFIED CHINESE'; 主要知识点: 一、有关表的操作 建表 create table test as select * from dept; --从已知表复制数据和结构 create table test as select * from dept where 1=2; --从已知表复制结构但不包括数据 2)插入数据: insert into test select * from dept; 二、运算符 算术运算符:+ - * / 可以在select 语句中使用 连接运算符:|| select deptno|| dname from dept; 比较运算符:> >= = != < <= like between is null in 逻辑运算符:not and or 集合运算符: intersect ,union, union all, minus 要求:对应集合的列数和数据类型相同 查询中不能包含long 列 列的标签是第一个集合的标签 使用order by时,必须使用位置序号,不能使用列名 例

plsql 导出oracle数据库

会有一股神秘感。 提交于 2020-04-01 05:20:58
plsql 导出数据库有两个问题,一个是只导出结构,一个是导出表结构加数据这样的,首先人家让我导成sql语句 这不是简单,首先打开PLSQL 一、导出结构 1、然后tools->Export User Objects.. 然后出来一片空白 2、要选择哪个User 3、上面会出现好多表,选择一下你要导出的表,然后选择哪个选择文件的按钮,填写一下文件名称,选择一下目录 4、点击export,就好了,这样就导完了。 贼简单啊,结果小姐姐温柔地说,你导的是建表语句,真是一顿操作猛如虎,其实是个二百五啊,人家要的是数据加结构的 二、导出结构及数据 1、首先写好查询语句,然后全选数据,点击左上角的小框框就能全选了 2、对着小框右键,找到Export Results->SQL file 3、然后就是填写一下文件名称,选择一下目录,就OK啦。 还有一种导出是把数据导出到表格里面,也挺简单的,一块写了吧,要不下次又忘了 三、导出数据到表格 就是上面的步骤和上线的一样, 1、写SQL语句,然后选择要导出的数据 2、右键选择 Copy to Excel ->Copy as xls 或者Copy as xlsx 其实这个导出挺简单的,就是plsql好多是英文版的,好多看不懂啊,英语真是硬伤啊,有空写个导入的 来源: https://www.cnblogs.com/xbxxf/p/11097688.html

Loop for a cursor - PL/SQL

那年仲夏 提交于 2020-03-26 04:04:32
问题 I am working on analyzing huge set of data over a year. The approach is to pick the data one day at a time with the help of a cursor and keep on feeding another table with whole year data :- declare i_start_date date := date '2019-04-01'; i_end_date date := date '2019-04-02'; begin for cur_r in (select a.id, b.status from table1 a join table2 b on a.msg_id = b.msg_id where b.t_date between i_start_date and i_end_date ) loop insert into test_table (id, status) values (cur_r.id, cur_r.status);

Querying for 2nd validation statement on an existing field in APEX

我的梦境 提交于 2020-03-25 19:12:11
问题 where id = (select id from tab1 where col2 = 'range') and desc = 'min'; var max := select LV R from LV where id = (select id from tab1 where col2 = 'range') and desc = 'max'; begin if :P1_range < min or :P1_range > max then 'invalid range' end if; end; the above ^ will be my 2nd validation statement. i have one validation statement in place that the field must have a value in it. 回答1: When using validations, the exact syntax will depend on the Type you've selected. Use the inline help to

plsql 导入导出表数据与表结构

我们两清 提交于 2020-03-25 09:58:21
导出 导出表结构: Tools(工具)-->Export User Objects(导出用户对象) -->选择要导出的表(包括Sequence等)-->.sql文件,导出的都为sql文件 导出表数据: Tools(工具)-->Export Tables(导出表)-->选择表,选择SQL Inserts(SQL 插入)-->.sql文件 ------------------------------------------------------------------------------------------------------------------ 导入:(先导出表结构,再导出表数据) 导入表结构: 在命令窗口下,右键load ,F8 执行刚刚导出的sql文件,记住要删掉table前的用户名,比如以前这表名为sys.tablename,必须删除sys 导入表数据: 在命令窗口下,右键load ,F8 执行刚刚导出的sql文件,执行刚刚导出的sql文件 导出表结构: Tools(工具)-->Export User Objects(导出用户对象) -->选择要导出的表(包括Sequence等)-->.sql文件,导出的都为sql文件 导出表数据: Tools(工具)-->Export Tables(导出表)-->选择表,选择SQL Inserts(SQL 插入)-->

Change inserted value with trigger

◇◆丶佛笑我妖孽 提交于 2020-03-24 04:54:58
问题 I've just started to learn SQL a few weeks ago and I'm trying to make a trigger which changes the inserted value into 10 if it's smaller than 10. I searched for 4h now and I've found a lot of answers but none was good(for me). I really don't understand where the problem is. Here is the code: CREATE OR REPLACE TRIGGER NumberOfBooks BEFORE INSERT ON Book FOR EACH ROW BEGIN IF new.nobook < 10 THEN SET new.nobook = 10; END IF; END; 回答1: In Oracle's trigger syntax the newly inserted record is