标签: sqlplus

可以传递给SQL*Plus的命令行参数的最大长度?

我从Linux C Shell调用SQL*Plus:

sqlplus username/password @file.sql var1 var2 var3

如果我传递一个字符串var1,这个字符串可以多长时间?

它是由操作系统管理的吗?在这种情况下:

Linux version 2.6.9-100.ELsmp (mockbuild@x86-010.build.bos.redhat.com) (gcc version 3.4.6 20060404 (Red Hat 3.4.6-11)) #1 SMP Tue Feb 1 12:17:32 EST 2011

更新:经验测试产生以下结果:

  • 一个5200个字符的命令行参数给出了错误,"Word太长了".
  • 1300个字符然后产生SQL*Plus错误,"字符串开头"(000796384 ..."太长.最大大小为239个字符."
  • 一旦我得到239个字符,一切都很顺利.

我想我会sqlldr用来克服这一点.

linux csh sqlplus command-line-arguments

51
推荐指数
2
解决办法
7万
查看次数

命令行中的sqlplus语句

可以这样做吗?

$ sqlplus -s user/pass "select 1 from dual" 要么
$ echo "select 1 from dual" | sqlplus -s user/pass

我知道我可以放入select 1 from dual文件并执行此操作:
$ sqlplus -s user/pass @myFile.sql

但我想知道是否真的有必要创建一个文件只是为了满足sqlplus

sql oracle sqlplus

48
推荐指数
4
解决办法
20万
查看次数

如何通过sql plus从命令行发出单个命令?

使用SQL Plus,您可以从命令行使用"@"运算符运行脚本,如下所示:

c:\>sqlplus username/password@databasename @"c:\my_script.sql"
Run Code Online (Sandbox Code Playgroud)

但是,是否可以只运行具有类似语法的单个命令,而无需单独的脚本文件?如:

c:\>sqlplus username/password@databasename @execute some_procedure
Run Code Online (Sandbox Code Playgroud)

我对此感兴趣,因为我想编写一个只执行命令的批处理文件,而不会生成一堆两行".sql"文件.

oracle command-line sqlplus

46
推荐指数
4
解决办法
13万
查看次数

如何杀死正在运行的SELECT语句

如何通过终止会话来停止正在运行的SELECT语句?

该命令根据SELECT语句不断给出输出,我想在两者之间停止输出.

sql oracle select sqlplus oracle10g

46
推荐指数
3
解决办法
17万
查看次数

如何插入包含"&"的字符串

如何编写包含&字符的insert语句?例如,如果我想将"J&J Construction"插入数据库中的一列.

我不确定它是否有所作为,但我使用的是Oracle 9i.

sql oracle sqlplus escaping

40
推荐指数
7
解决办法
18万
查看次数

箭头键在sqlplus中不起作用

我发现箭头键在sqlplus控制台上不起作用.例如,如果我按左箭头键,它显示为

SQL>^[[B
Run Code Online (Sandbox Code Playgroud)

有没有解决这个问题的解决方案?

keyboard sqlplus key

37
推荐指数
2
解决办法
2万
查看次数

如何在SQL*Plus中使用begin/end运行Oracle查询?

我创建了一个带有begin/end的查询块,并希望在SQL*Plus中运行它.但是如何在命令行中运行它?

实际上代码来自某个博客,它用于搜索数据库中的文本.ABC是要搜索的文本.

set serveroutput on size 1000000
declare
TYPE QueryCurType is REF CURSOR;
query1 QueryCurType ;

cursor c1 is select owner,table_name from dba_tables where owner not in ('SYS','SYSTEM') and table_name not like '%$%';
cursor c2(t1 varchar2) is select column_name from dba_tab_columns where table_name=t1 and DATA_TYPE in ('NVARCHAR2','VARCHAR2','CHAR');
temp_var varchar2(3000);
query varchar2(3000);

begin
for tab1 in c1 loop
  for col in c2(tab1.table_name) loop
    query:='select '||col.column_name||' from '||tab1.owner||'.'||tab1.table_name||' where '||col.column_name||' like "ABC"';
    --dbms_output.put_line('executing..'||query);
    open query1 for query;
    loop
      fetch query1 into temp_var; …
Run Code Online (Sandbox Code Playgroud)

oracle sqlplus

36
推荐指数
2
解决办法
8万
查看次数

在sqlplus中抑制变量替换的输出

我想抑制这些行的输出如下

old   9: AND FROMDAT <= TO_DATE('&duedate', 'YYYYMMDD')
new   9: AND FROMDAT <= TO_DATE('20091031', 'YYYYMMDD')
old  10: AND TODAT > TO_DATE('&duedate', 'YYYYMMDD')
new  10: AND TODAT > TO_DATE('20091031', 'YYYYMMDD')
Run Code Online (Sandbox Code Playgroud)

我怎么能实现这个目标?

TERM OFF并且FEEDBACK OFF已经设置.

sql variables sqlplus

36
推荐指数
1
解决办法
4万
查看次数

Oracle SqlPlus - 将输出保存在文件中但不显示在屏幕上

使用SqlPlus for Oracle,如何将查询的输出保存在文件中但不在终端/提示符上显示.

oracle sqlplus

35
推荐指数
3
解决办法
14万
查看次数

在shell脚本中连接到sqlplus并运行SQL脚本

我有一个.sql文件,这是一堆oracle pl/sql命令,我想创建一个shell脚本来运行这些命令.

假设这user/pass@server是我的凭据.执行此类任务的shell脚本是什么?

bash shell sqlplus

34
推荐指数
3
解决办法
22万
查看次数