update t set command="select PIN_ID, PIN_STATUS from inventory where trunc(EXPIRY_DATE) <= trunc(sysdate) and pin_status in ('Delivered','GenHold')" where id='8';
我在命令行得到这个错误:2列:32错误报告-sql错误:ora-00972:标识符太长00972。00000-“标识符太长”原因:指定了超过128字节的标识符,或指定了超过30字节的密码标识符操作:为标识符指定最多128字节,为密码标识符指定最多30字节。
如何更新此字段?
2条答案
按热度按时间wr98u20j1#
查询中的问题是:您使用了
double quotes
表示字符串值。必须使用单引号来表示oracle中的字符串。双引号用于提供别名或对象名查询中有单引号,因此需要在字符串中使用两个单引号来表示实际字符串值的单引号,如下所示:
但有一个简单的选择(
quoted-string
)这里,我用过
q'#<your_string>#'
只需忽略实际字符串中作为字符串结尾的所有单引号(否则必须用两个单引号替换字符串中的所有单引号)。它被称为引用字符串,表示为:vuktfyat2#
问题在于引用,请使用下面的语句,