我需要创建一个实用程序脚本来在 postgres 数据库中添加一个项目。我最初的方法是使用具有最少一组非默认值的 bash 脚本和具有剩余默认列的 postgres sql 脚本。项目表有 20 列。
所以这是我简化的 bash 脚本:
## A unique system identifier for an Item.
ID_ITM='318'
## The description of the Item.
DE_ITM="A description"
psql -U postgres -d MYDB -v id_itm=$ID_ITM de_itm=$DE_ITM -f insertItemPostgres.sql
如您所见,它调用以下 sql 脚本(简化):
Insert into AS_ITM (ID_ITM,ID_LN_PRC,ID_ITM_SL_PRC,ID_MRHRC_GP,ID_RU_ITM_SL,ID_DPT_PS,FL_ITM_DSC,FL_ADT_ITM_PRC,NM_BRN,FL_AZN_FR_SLS,LU_ITM_USG,NM_ITM,DE_ITM,TY_ITM,LU_KT_ST,DE_ITM_LNG,FL_ITM_SBST_IDN,LU_CLN_ORD,LU_EXM_TX,FL_VLD_SRZ_ITM)
values (:id_itm,:de_itm,null,'64',null,null,null,null,null,'1',null,null,null,null,'0',null,'0',null,'0','0');
我的问题是,为了完成这项工作,我需要让字符串和 id 带有两对引号:
DE_ITM="'A description'"
我需要找出如何以文字形式传递参数。
我将不胜感激任何更好的方法,因为我知道这不是最好的,而且我的数据库脚本技能也不是最好的。此外,我正在使用一个 bash 脚本,但我可能只是一个具有非默认值的 sql,它调用具有插入的那个。