You'd *think* that the same command would be issued for both in-DB and Std Output tools, but given that they differ in options on how an Update is done then it must differ in some manner, and is hopefully documented somewhere that I haven't found yet! (NB: when I first starting using the the tools a few versions ago the Update didn't exist as an option, so I've done workarounds (ie. read full dataset in, update existing rows, union new rows, then delete & append full dataset in output (using temp table before write if using inDB tools to avoid deleting the select from dataset!)) and so I haven't tested this newer Update option in either toolset)
However, given that this thread identified earlier that Alteryx sends different commands to different DB products (ie. TRUNCATE to Kane's sql instance (not sure of product, maybe MS?) but a DELETE to IBM Netezza), quite possibly the UPDATE structure differs - with or without some kind of documented or syntactical reason..
Update, warn on failure: Updates existing records using the output and warns if a record could not be updated.
Update, error on failure: Updates existing records using the output and stops processing if a record could not be updated.
Update, insert if new: Updates existing records using the output and inserts new records if they were not in the database table and stops processing if a record could not be updated.
If there are multiple records with the same primary key and no other SQL errors occur, the new record updates the older record in the database. Use the Unique Tool to check for multiple primary keys prior to writing to the database.