This documentation is archived and is not being maintained.

InsertCommand Property

This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

The InsertCommand property specifies record insert when new rows in the source are published to article Subscribers.

.InsertCommand [=value]


An expression that evaluates to an object in the Applies To list


A string containing a Transact-SQL script



HRESULT GetInsertCommand(SQLDMO_LPBSTR pRetVal);
HRESULT SetInsertCommand(SQLDMO_LPCSTR NewValue);
SQL Distributed Management Objects (SQL-DMO) strings are always returned as OLE BSTR objects. A C/C++ application obtains a reference to the string. The application must release the reference using SysFreeString.

The format and contents of the InsertCommand property must match those specified for the @ins_cmd argument of the system stored procedure sp_article. For more information, see sp_addarticle (Transact-SQL).

For each row added to the published table, a Transact-SQL INSERT statement is built. If InsertCommand is an empty string, or the string "SQL", the default behavior is used.

Set InsertCommand to NONE to specify that the publication ignore records added to the published table.

Set InsertCommand to CALL procedure to specify a Transact-SQL stored procedure executed for record insertion. The stored procedure must include parameters referencing, in order, the columns published in the article, and each Subscriber must have a copy of the stored procedure installed in the destination database.

If an application sets InsertCommand after the initial snapshot has been created, a new snapshot must be generated and reapplied to each subscription. Snapshots are applied when the next scheduled snapshot and distribution agent run.