我有一个SQL脚本,将长字符串插入表中.该字符串包含一个新行(并且这个新行是绝对必要的),因此当它在文本文件中写入时,查询将被拆分为多行.就像是:
insert into table(id, string) values (1, 'Line1goesHere
Line2GoesHere
blablablabla
');
Run Code Online (Sandbox Code Playgroud)
这蟾蜍运行正常,但是当我保存这个作为一个.sql文件,并用sqlplus运行它,它会认为每行一个单独的查询,这意味着每行会失败(怎么一回事,因为insert into table(id, string) values (1, 'Line1goesHere,Line2GoesHere没有很好地格式化的脚本.
SP2-0734: unknown command beginning "Line2GoesHere" - rest of line ignored.
Run Code Online (Sandbox Code Playgroud)
有没有办法来解决这个问题?
我在一次采访中遇到了这个问题,并且不知道如何回答:
有一个表在列上有索引,您查询:
select * from table_name where column_having_index="some value";
Run Code Online (Sandbox Code Playgroud)
查询花费的时间太长,您发现索引未被使用.如果您认为使用索引查询的性能会更好,那么您如何强制查询使用索引?
有没有办法让你可以在sqlplus中将SERVEROUTPUT设置为ON,但以某种方式抑制在完成执行plsql过程后自动生成的消息"PL/SQL过程成功完成"?
我需要快速(和强制)杀死连接到我的oracle数据库的所有外部会话,而无需管理员和管理员.
我不想只是锁定数据库,让用户优雅地退出.
我该如何编写脚本?
我想在Oracle中获取查询执行时间.我不希望Oracle需要时间打印结果 - 只是执行时间.
在MySQL中,很容易从shell获得执行时间.
如何在SQL*Plus中执行此操作?
我在oracle中创建了一个函数,它在特定的表中插入记录,并根据函数中的内容返回输出.例如(ins_rec返回号码)
如何调用此函数并在sql plus中查看其输出
我试过了
select * from users
save D:\test.sql create;
Run Code Online (Sandbox Code Playgroud)
但是SQL plus给了我"没有正确结束"如何在windows中的oracle sql中指定路径?
我试过这个,但它不起作用:
col * format a20000
Run Code Online (Sandbox Code Playgroud)
我真的必须专门列出每一栏吗?这对屁股来说是一个巨大的痛苦.
如何使用SQLPLUS在命令行上将参数传递给PL/SQL脚本?我可以像这样调用我的PL/SQL脚本,但脚本需要参数才能使它成功.如何运行sqlplus.exe以便我可以将参数传递给脚本?
@ECHO off
// where HOST030 is a tnsnames alias to a machine, port, and instance
sqlplus.exe MYUSER/mypassword@HOST030 < refreshDataOnOracle.sql
pause
Run Code Online (Sandbox Code Playgroud)
我试图搜索答案,但无法在SQLPLUS的任何地方找到"参数示例".我怀疑这是使用SQL*Plus"START"命令的类似方法吗?