SELECT ORDER_CODE, ITEM_NAME FROM ORDER_INFO_ALL WHERE ORDER_CODE LIKE '%' || ORDER_CODE || '%';
--如下的怎么写正确 like里面的 ORDER_CODE
BEGIN
EXECUTE IMMEDIATE 'SELECT ORDER_CODE, ITEM_NAME FROM ORDER_INFO_ALL WHERE ORDER_CODE LIKE '%''' || ORDER_CODE || '%'
END;

解决方案 »

  1.   

    问题是在like后单引号的转译 把这个转译好就行了
    BEGIN
    EXECUTE IMMEDIATE 'SELECT ORDER_CODE, ITEM_NAME FROM ORDER_INFO_ALL WHERE ORDER_CODE LIKE ''%' || ORDER_CODE || '%'''
    END;
      

  2.   

    SELECT ORDER_CODE, ITEM_NAME FROM ORDER_INFO_ALL WHERE ORDER_CODE LIKE '%' || ORDER_CODE || '%';
    --动态执行一个select语句,不知道是啥意图v_sql := 'SELECT ORDER_CODE, ITEM_NAME FROM ORDER_INFO_ALL WHERE ORDER_CODE LIKE ''%''||ORDER_CODE||''%''' ;
    execute immediate v_sql;
      

  3.   

    BEGIN
    EXECUTE IMMEDIATE 'SELECT ORDER_CODE, ITEM_NAME FROM ORDER_INFO_ALL WHERE ORDER_CODE LIKE ''%'||ORDER_CODE||'%''';
    END;