首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >UNIX中的SQL select语句IF..THEN语句内部/内部

UNIX中的SQL select语句IF..THEN语句内部/内部
EN

Stack Overflow用户
提问于 2008-11-11 21:41:14
回答 4查看 9.2K关注 0票数 2

我只想问一下在UNIX中创建一个简单的SQL select语句时的步骤,在IF..THEN..FI语句内部/内部。

我知道如何在SQL*Plus中使用'select‘和'if..then’语句,但我在使用UNIX脚本指向变量时遇到了困难:如果'ABC‘改为'Select...’

示例:

如果"$?“= 'ABC‘,则从表名中选择雇员if、姓名、年龄;否则退出1 fi

如果"$?“= 'XYZ‘,则从表名中选择雇员if、姓名、年龄;否则退出1 fi

如何在UNIX脚本中更正确、更准确地使用语法和切中要害?

谢谢。

EN

回答 4

Stack Overflow用户

发布于 2008-11-11 21:49:43

这听起来像是在尝试将SQLPlus嵌入到shell脚本中。根据记忆,咒语应该是这样的:

代码语言:javascript
运行
复制
if [ $? -eq ABC ]; then
SQLPLUS /S USER/PASS@Instance <<EOF
SET echo off;
SET pagesize 0;
SET heading off;
SPOOL foo.out
select foo from bar
EOF
fi

SQLPLUS和EOF之间的所有内容都被传递给SQLPlus,因此我们有一些语句来控制格式化(您可能需要不同的语句)和实际的查询。SQLPlus脚本中的假脱机命令将输出发送到文件。有关使用SQLPlus的更多详细文档,可以从Oracle's web site.下载

票数 4
EN

Stack Overflow用户

发布于 2008-11-12 01:25:36

请记住,echo是您的朋友。

代码语言:javascript
运行
复制
if [ "$?" = "ABC" ] then echo SELECT employid, name, age FROM tablename; else exit 1; fi

您可以嵌入shell脚本变量等。注意需要引用shell想要执行的操作,比如引号和分号。

票数 1
EN

Stack Overflow用户

发布于 2008-12-30 20:31:55

您是否考虑过使用perl或其他包含数据库连接功能的脚本语言。这样就避免了笨拙的shell脚本/SQL*Plus链接

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/282222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档