 <p>you are not supposed to use the method what you had followed in your query when you assign a value to a variable.</p> <pre><code>DECLARE @price_base NVARCHAR(50) = (SELECT tbl_model2.price_base FROM tbl_model2) </code></pre> <p>This select statement within bracket returns a resultset, not a single value, which cannot be stored into a variable (except table data typed variable). Don't practice this method, this will always end up with errors.</p> <p>You should always use</p> <pre><code>select top 1 @price_base = price_base FROM tbl_model2 </code></pre> <p>when you insert multiple rows, assigning values into a variable inside a trigger, will lead you to lose data. </p>