当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 为导入文件加上时间戳标记的两种方法

MSSQL
用SQL语句实现替换字符串
mssql查找备注(text,ntext)类型字段为空的方法
MSSQL数据类型及长度限制详细说明
SQL Server下几个危险的扩展存储过程
一些SQL Server存储过程参数及例子
sql高级技巧几个有用的Sql语句
SQL语句实现SQL Server 2000及Sql Server 2005日志收缩(批量)
用SQL建立索引的方法步骤
MSsql每天自动备份数据库并每天自动清除log的脚本
mssql无数据库日志文件恢复数据库的方法
SQL Server常用管理命令小结
SQL SERVER性能优化综述(很好的总结,不要错过哦)
sqlserver 游标的简单示例
sqlserver只有MDF文件恢复数据库的方法
在SQL Server启动时自动执行存储过程。
在 SQLSERVER 中快速有条件删除海量数据
阿拉伯数字转大写中文_财务常用sql存储过程
SQL Server存储过程的基础说明
列出SQL Server中具有默认值的所有字段的语句
文本、Excel、Access数据导入SQL Server2000的方法

MSSQL 中的 为导入文件加上时间戳标记的两种方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 71 ::
收藏到网摘: n/a

问:如何给导入文件加上时间戳标记?

答:请参考下文中介绍的两种方法:

1.在DOS下从系统获得时间戳

利用Dos命令取得时间戳:

C:\>echo %date%

2007-12-31 星期一

C:\>echo %date:~0,10%

2007-12-31

然后使用导出(exp)工具引用该时间戳就很容易了:

exp userid=eygle/eygle file=d:\eygle%date:~0,

10%.dmp log=d:\eygle%date:~0,10%.log

2.使用SQL脚本从数据库获得时间戳

注释:在NT下该命令的执行结果可能与Windows2000和WindowsXp上不同,没有NT的环境可以试验(此时只需""把date引用起来就可以了,如: "%date%")。

我们也可以使用如下的SQL方式获得时间戳.

首先编写一个doexp.sql脚本:

column today new_val dt

select to_char( sysdate, 'ddmmyyyy' ) today from dual;

host exp userid=eygle/eygle tables=emp

file=exp_prod_&dt..exp log=exp_prod_&dt..log

exit

然后再编写一个start.bat批处理脚本调用doexp.sql脚本:

echo off

set oracle_sid=eygle

sqlplus eygle/eygle @doexp

执行结果如下:

E:\Is\IsTrain\Exp2>dir

驱动器 E 中的卷是 SWAPDK

卷的序列号是 F8BA-FCAC

E:\Is\IsTrain\Exp2 的目录

2007-12-07 15:14

.

2007-12-07 15:14

..

2007-08-26 15:18 170 doexp.sql

2007-12-07 15:12 4,096 exp_prod_07102003.exp

2007-12-07 15:12 335 exp_prod_07102003.log

2007-08-26 15:18 4,096 exp_prod_26082003.exp

2007-08-26 15:18 312 exp_prod_26082003.log

2007-12-07 15:42 4,096 exp_prod_30082003.exp

2007-08-30 17:09 335 exp_prod_30082003.log

2007-12-07 15:14 1,660 sqlnet.log

2007-12-07 15:12 60 start.bat

9 个文件 15,160 字节

2 个目录 674,652,160 可用字节