Good manners at the table should be enforced and certainly before you ever take him into a restaurant.
If he won't listen to words try actions.
Once at the table tie a bib or a pinafore around his neck. It doesn't have to be a baby bib, there are many kinds available. Knot it so he cannot remove it. No doubt he will object but say he can have it removed as soon as he learns his manners.