我需要对数据库进行一些结构更改(更改表,添加新列,更改某些行等),但是我需要确保如果出现问题,我可以回滚到初始状态:
我真的在$#$%深吗?
有什么想法如何使用sqlplus备份数据库并将备份保留在db服务器上?
我希望能够根据用户输入在表中插入可变数量的行?例如.
Please enter value, enter "done" when no more values: value 1
Please enter value, enter "done" when no more values: value 2
Please enter value, enter "done" when no more values: done
2 Rows inserted successfully.
Run Code Online (Sandbox Code Playgroud)
我不确定如何临时存储行,我不知道如何多次询问用户插入数据.pl/sql有数组吗?
谢谢
SQL Plus是否为其命令提供帮助页面?有没有办法从SQL Plus提示符访问帮助文本,如STARTUP的此文本?
我试过了
SQL> man startup
SP2-0734: unknown command beginning "man startu..." - rest of line ignored.
SQL> startup -help
SP2-0714: invalid combination of STARTUP options
SQL> startup --help
SP2-0714: invalid combination of STARTUP options
SQL>
Run Code Online (Sandbox Code Playgroud) 如何区分两个不同表中的行数?
SQL> select count(*) from dual44;
COUNT(*)
----------
3
SQL> select count(*) from dual;
COUNT(*)
----------
1
SQL> (select count(*) from dual44)
2 minus
3 (select count(*) from dual)
4 ;
COUNT(*)
----------
3
SQL>
Run Code Online (Sandbox Code Playgroud)
我需要2结果.这两个表可能不一定具有相同的情绪.
当我想在oracle中看到一个带有其记录的表时,表是杂乱无章的,我的意思是不像my-sql在属性名称下看到属性的每个值!我该如何解决?
我正在运行这样的查询:
INSERT INTO TableA (colA, colB)
Select ColA, ColB
from TableB
Run Code Online (Sandbox Code Playgroud)
这是一个巨大的插入,因为它查询超过200万行然后将它们插入表中.我的问题是关于表现.当我在toad中运行查询时,查询大约需要4-5分钟才能运行.
当我通过sqlplus运行查询时,它会占用更长的时间.它已经运行了40分钟+并且还没有完成.我甚至通过设置服务器输出来进行一些微调,以防影响性能.
关于通过sqlplus运行查询,我应该注意哪些调整?有没有办法找出不同客户端执行/处理查询的方式有何不同?
注意:这是我可以将数据从表A传输到表B的唯一方法.我查看了imp/exp和impdp/expdp,在我的情况下这是不可能的.
Toad - v.9.6.1.1 SqlPlus - 9.2.0.1.0 Oracle DB - 10g
我从数据库假脱机包,这就是我得到的:
CREATE OR REPLACE PACKAGE BODY "CPI"."GIPI_WBOND_BASIC_PKG"
AS
FUNCTION get_gipi_wbond_basic (p_par_id gipi_wbond_basic.par_id%TYPE)
RETURN gipi_wbond_basic_tab PIPELINED
IS
v_wbond gipi_wbond_basic_type;
BEGIN
FOR i IN (SELECT a.par_id, a.obligee_no, a.bond_dtl, a.inde
mnity_text,
a.clause_type, a.waiver_limit, a.contract_date, a.cont
ract_dtl,
a.prin_id, a.co_prin_sw, a.np_no, a.coll
_flag,
a.plaintiff_dtl, a.defendant_dtl, a.civil_case_no
FROM gipi_wbond_basic a
WHERE a.par_id = p_par_id)
Run Code Online (Sandbox Code Playgroud)
我希望它是这样的:
CREATE OR REPLACE PACKAGE BODY cpi.gipi_wbond_basic_pkg
AS
FUNCTION get_gipi_wbond_basic (p_par_id gipi_wbond_basic.par_id%TYPE)
RETURN gipi_wbond_basic_tab PIPELINED
IS
v_wbond gipi_wbond_basic_type;
BEGIN
FOR i IN (SELECT a.par_id, a.obligee_no, a.bond_dtl, a.indemnity_text,
a.clause_type, a.waiver_limit, a.contract_date,
a.contract_dtl, a.prin_id, …Run Code Online (Sandbox Code Playgroud) 当我运行以下查询时,我得到了
ORA-00934:此处不允许使用组功能
问题是什么 ?
select c.Numcom,c.Nompr,c.salaire_fix
from commercialv c,comercialv c1
where c.salaire_fix=(max(c1.salaire_fix) );
Run Code Online (Sandbox Code Playgroud) 我想在sqlplus中运行一个sql文件.这个sql文件只是将一个包和一些存储过程添加到数据库中.它是使用规范/体分离约定编写的.但是,看起来包装声明部分存在问题,导致身体部分失败.事实上,我不确定"绑定变量"部分是否相关.任何帮助将不胜感激,谢谢.
SQL*Plus: Release 11.2.0.3.0 Production on Wed Dec 20 11:41:36 2017
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
SQL> set timing on;
SQL> set exitcommit off;
SQL>
SQL> REM Output Log
SQL> REM All script output is SPOOLed here.
SQL> REM Recommend not to change or use SPOOL in other locations
SQL> REM …Run Code Online (Sandbox Code Playgroud) 因此,在我的PL/SQL代码中,我在开头添加了一列,并在最后删除了列.当我在SQLPLUS上运行它时,它会说"table changed".有没有办法删除它?
我想添加和删除列而不说"表更改".