The news agency, quoting a police spokesman, says the victim was transferred to a hospital Saturday afternoon.
Police say they have arrested the Saudi man and are investigating the motive for the attack.
The attack comes one week after a gunman shot a Danish citizen in his car in the capital, Riyadh.
Al-Qaida has attacked foreigners in Saudi Arabia in the past. The breakaway Islamic State group has urged its supporters to launch attacks inside the kingdom.
Canada, Denmark and Saudi Arabia are members of the U.S.-led coalition conducting airstrikes against Islamic State group fighters.
Also on HuffPost