I have created a custom list with a field (column) of 'External Data' type, connected to my external content type. External Content Type's source is an SQL view. My problem is, when I make changes on the database, I would like the column in my sharepoint list to update as well, unfortunately this does not happen (well it does, when I click 'edit item' and 'save', but this would be a bit uncomfortable with a lot of data ;). Is it possible to get the data 'auto-refresh' on database change? I would appreciate any help.
There is a small icon above one of the external columns, that does a "business data refresh". So it will update all the rows that have new data in the database when you press that. With an external list, it refreshes the data every time you view the list, but with external columns, it updates the items when created or edited/saved, but otherwise caches the info. Pressing the refresh button might be a good solution depending on your users and application.
There doesn't seem to be an obvious way to do that programmatically (the page that gets called (BusinesssDataRefresh.aspx ,or something like that) doesn't show the details of what it is doing.
I consider this to be a feature and not some sort of bug. If one user picked some external data value it would be 'uncomfortable' for him/her to change that value without any notification. However I fully understood your requirement.
For external lists you have refresh button available.
For items with external data column I can think of only one solution. You can develop custom Timer Job and make it run periodically doing system updates of your items. This is not best practice because such timer job will use lots of resources for executing even on some smaller or medium size lists.
I am not aware of any other (hopefully better) solution.