我过去经常使用 sqsh。真的很有帮助。
如果您使用过 sybase/mSServer isql,您就会知道这真的很痛苦。没有对命令行编辑和历史记录的真正支持。最初创建 SQSH 是为了提供一个类似于 shell 的命令行环境来与您的数据库进行交互。从数据库中提取数据并保存到文件中非常容易使用。然后您可以根据需要编辑文件,并使用 bcp 或其他方法将数据加载到新表中。
SQSH shell 支持环境变量、文件重定向(我不记得在内部使用输入方向,但可以编写
select c1, c2, c3,c7, c120 from customer > customerFile
非常方便。
在左侧菜单的功能链接下的http://www.sqsh.org 上查看完整的功能列表。
Commands
Variables
Redirection and Pipes
Aliasing
Command Substitution
Backgrounding & Job Control
SQL Batch History
Configurable Exit Status
Inter-Server BCP
Remote Procedure Calls
Semicolon "go"
Simple Scripting
Flow-of-Control
Functions
Multiple Display Styles
X Windows Support
Macro Pre-Processing
Miscellaneous
Commands
请注意,控制流允许有 1 个返回多行结果集的查询,并对每条记录使用 do 和 while 循环处理。这也支持if ... elif ..fi 块。我不记得使用过这些功能,但我找到了别名和环境变量,并且重定向为我节省了几个小时。
也就是说,我是一个有动力的用户。文档不会向您提供所有答案,因此需要一些时间进行实验、摸索和审查。
除了阅读过 TDS 之外,我对 TDS 没有任何经验。基本上你需要回答的问题是,我是不是 shell 命令行垃圾,我是否愿意花一点时间来学习如何在基于文本的 SQL 客户端中获得命令行功能。
IHTH。