Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 是否存在使用bash的数据库表_Sql_Bash_Ingres - Fatal编程技术网

Sql 是否存在使用bash的数据库表

Sql 是否存在使用bash的数据库表,sql,bash,ingres,Sql,Bash,Ingres,在bash脚本中,我如何判断安格尔数据库是否包含特定的表 我想我想要这样的东西: sql $db << ENDSQL | grep 'TRUE' > /dev/null select 'TRUE' from iitables where table_name like '$tablename%' \p\g ENDSQL result=$? sql$db/dev/null 从iitables中选择'TRUE',其中的表名为'$tablename%' \p\g ENDSQL 结果

在bash脚本中,我如何判断安格尔数据库是否包含特定的表

我想我想要这样的东西:

sql $db << ENDSQL | grep 'TRUE' > /dev/null
select 'TRUE' from iitables where table_name like '$tablename%'
\p\g
ENDSQL
result=$?
sql$db/dev/null
从iitables中选择'TRUE',其中的表名为'$tablename%'
\p\g
ENDSQL
结果=$?
但它总是返回
1
(未找到)。文字
'mytable%'
起作用,因此我认为这是我引用的内容(或缺乏引用)

\p
打印我的SQL语句,$tablename被展开,即使它在单引号内,所以不是这样


欢迎您的任何建议。

此处文档语法非常挑剔,请尝试使用Here语句(同样混乱):


sql$db您的脚本为我工作,前提是设置了db。但是,它总是返回0,因为\p-您正在打印查询,其中包括您正在搜索的字符串TRUE。@PaulM,但我的问题是它总是返回1,而不是0。取出\p没有任何区别。
sql $db <<< "select 'TRUE' from iitables where table_name like '$tablename%'
\p\g" | grep 'TRUE' > /dev/null
result=$?