A union is calling for all retailers to keep knives under lock and key after a supermarket worker was allegedly stabbed by a teenager.