Actually if you change prices in SQL directly, they won’t show on the POS immediately due to caching.
You probably would need to trigger a refresh - or possibly logout / login to force refresh, you would have to try and see. How about if a price changes during a ticket? If the price changes and refresh with logout / login, you can just force auto logout after each order and that may force the refresh, but I am not 100% sure.
I handled this sort of situation in the past where I was handling real time price changes from another system. I solved it by doing a query of the current price each time an order is added to a ticket. You do notice a slight lag, which will vary depending on your network setup, but it means you can guarantee the most up to date price.
We did all sorts of testing and first tried what you are doing (externally updating SQL) and this is how I found out it doesn’t reflect immediately.
You can read more about what we did and the problems we had on this topic:
Also, can I ask what are you doing that you have the requirement for real time price changes? If you can give some more info about what you need this for, we could possibly recommend other options.