根据列值删除 Oracle 记录的命令行脚本

发布于 2024-10-22 00:03:01 字数 325 浏览 11 评论 0原文

我对脚本技术完全陌生。

我的要求是

  1. 通过DOS脚本连接oracle
  2. 基于列值需要删除特定记录

例如:

emp   sal    pt_dt
a     23     22-02-11
b     34     20-01-10
c     45     23-09-85
d     56     30-3-11

基于30-3-11(pt_dt列),我需要删除记录d。

操作系统 - Windows XP 数据库-Oracle 10g

I am completely new to scripting techniques.

My requirement is

  1. To connect oracle through DOS script
  2. Based on a column value need to delete the particular record

eg:

emp   sal    pt_dt
a     23     22-02-11
b     34     20-01-10
c     45     23-09-85
d     56     30-3-11

Based on the 30-3-11(pt_dt column), I need to delete the record d.

OS - Windows XP
DB - Oracle 10g

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

水中月 2024-10-29 00:03:01

最简单的方法是首先编写sql(例如deleterec.sql)脚本,然后从批处理(例如deleterec.bat)脚本中调用它。

deleterec.sql 的示例内容:

DELETE emp WHERE pt_dt = TO_DATE('30-03-2011','DD-MM-RRRR');

deleterec.bat 的示例内容:(

sqlplus.exe scott/tiger@orcl @deleterec.sql

将 scott/tiger@orcl 替换为您的用户名、密码和数据库实例)

Simplest method is to first write your sql (e.g. deleterec.sql) script, then call it from a batch (e.g. deleterec.bat) script.

Example contents of deleterec.sql:

DELETE emp WHERE pt_dt = TO_DATE('30-03-2011','DD-MM-RRRR');

Example contents of deleterec.bat:

sqlplus.exe scott/tiger@orcl @deleterec.sql

(replace scott/tiger@orcl with your user name, password and database instance)

清音悠歌 2024-10-29 00:03:01

您可以像这样编写 .bat:

@echo off
if %%1X==X goto noparam
echo DELETE FROM emp e WHERE e.emp = '%%1' > deleterec.sql
sqlplus.exe scott/tiger@orcl @deleterec.sql
delete deleterec.sql
goto end
:noparam
echo Usage: %%0 {employee id}
goto end
:end
echo Bye!

我承认我从 Jeffrey 的答案中窃取了 sqlplus 调用。 :-o

You can write a .bat like this:

@echo off
if %%1X==X goto noparam
echo DELETE FROM emp e WHERE e.emp = '%%1' > deleterec.sql
sqlplus.exe scott/tiger@orcl @deleterec.sql
delete deleterec.sql
goto end
:noparam
echo Usage: %%0 {employee id}
goto end
:end
echo Bye!

I admit I stole the sqlplus call from Jeffrey's answer. :-o

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文