暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

oracle get input 命令简单说明

原创 不吃草的牛_Nick 2023-05-05
407

显示SQL命令清单
SQL*Plus在称为SQL缓冲区的内存区域中存储最新发布的SQL命令。然而,SQL*Plus只能将最后发布的一条命令保存在缓冲区中。输入的每条新语句都将替换保存在缓冲区中的上一个语句。如果想要看到以前发布过的命令,则需要使用LIST命令,或者输入字母l。
SQL> l

如果你想在执行SQL脚本前浏览其内容,可使用GET命令将脚本从操作系统装载到SQL缓冲区中:
SQL> get status.sql

注意 如果只在SQL*Plus会话中输入斜杠(/)命令,将执行最后输入的一个命令,此命令总是存储在SQL缓冲区中。DBA应该经常使用LIST命令查看打算执行的脚本内容.

有时,可能需要连续执行几个SQL命令脚本。可以在一个主脚本中指定所有要运行的脚本,然后运行主脚本即可,所有被包含的脚本将连续执行。以下例子示岀如何将几个SQL脚本嵌入到主文件中:
SQL> GET onescript.sql
1 @check.sql
2 @create_table.sql
3 @insert_table.sql
4* @create_constraint.sql

当运行onescript.sql脚本时,其四个成员脚本将逐个运行。这是执行多脚本的有效方法,特别是在创建并填充一个新数据库时(假设已经测试了每个脚本)。

注解 还可以使用@@commandf11e表示法(如@@one_script.sql)执行包含多个命令文件的命令文件.
@@表示法的使用确保了Oracle以主命令文件相同的路径查找每个文件.


input:

插入和删除行
调用编辑器并在其中进行修改,能够增加或删除一行SQL文本。SQL*Plus界面也提供了増加和删除命令行的简单方法。使用INPUT命令,可以方便地给存储在SQL缓冲区中的SQL文本增加多个命令行。

要使用INPUT命令,输入字母I即可。代码清单4-15示出如何在一个SQL脚本的末尾的新行上插入文本。当插入完新行后,可以输入点号(.)返回到SQL提示符。

注解 分号(;)通常充当SQL语句的终止符,点号(.)是BLOCKTERMINATOR变量的默认值,它表示语句输入结束.

使用INPUT命令(i)在脚本末尾插入新命令行
SELECT username, status, process, sid, serial#
FROM v$session
WHERE status = 'ACTIVE'
.

SQL> i
and username ='HR';

如何在SQL脚本的中间插入一行。只要使用LIST命令在屏幕上显示一行,即可用INPUT命令在其后增加一新行。
使用INPUT命令在脚本中间插入一行
SELECT username, status, process, sid, serial#
FROM v$lsession
WHERE status='ACTIVE'
.

SQL> 1
1* SELECT username, status, process, sid, serial#

SQL> i
,logon_time,terminal
.

SQL> l
1 SELECT username, status, process, sid, serial#,
2 logon_time,terminal
3 FROM v$session
4* WHERE Status='ACTIVE'

可以使用删除命令DEL (或只输入D)及行号,删除SQL缓冲区的一行或多行。
在SQL*Plus中删除文本
SELECT username, status, process, sid, serial#
FROM vSsession
WHERE status = 'ACTIVE'
AND username'HR'
.
SQL> del4
SQL> l
1 SELECT username, status, process, sid, serial#
2 FROM vlsession
3* WHERE status ='ACTIVE'

DEL命令将删除指定的行。使用无行号的DEL命令将删除SQL缓冲区中的最后一行。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论