Sql 是否存在使用bash的数据库表
在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 结果
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=$?