我对脚本技术完全陌生。
我的要求是
例如:
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 DB - Oracle 10g
答案 0 :(得分:3)
最简单的方法是首先编写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)
答案 1 :(得分:1)
你可以像这样写一个.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