4

Name列とSalary列がそれぞれあるテーブルEmpがあります。MSSQLで各給与を15%増やしたい。

以下のクエリは1回の更新のみを対象としており、それでも実行できません...

UPDATE    Emp
SET       Salary = '(@Salary / 100) * 15 + @salary'

WHERE Name='Zangiv'

複数の行を一度に更新するには、単一のクエリステートメントが必要です。

前もって感謝します

4

7 に答える 7

6
UPDATE Emp
SET salary = salary * 1.15
WHERE Name = 'Zangiv'
于 2012-09-11T18:32:15.197 に答える
3

あなたが述べた要件を考えると:

MSSQLで各給与を15%増やしたい

次のクエリは、すべての給与を15%増やします。

UPDATE    Emp
SET       Salary = Salary * 1.15

テーブル内のすべての行を実際に更新したくない場合は、WHERE必要に応じて句を使用してください。

于 2012-09-11T18:31:56.777 に答える
3

Zangiv「名前の付いた複数の行」を意味するのか、すべての行を意味するのかに応じて、次のようになります。

UPDATE dbo.Emp
SET Salary = Salary * 1.15
--WHERE Name = 'Zangiv';
于 2012-09-11T18:32:07.813 に答える
2
UPDATE Emp SET Salary = Salary * 1.15;

すべての従業員の給与が15%増加します。

于 2012-09-11T18:32:03.617 に答える
2

SQL2008以降

UPDATE Emp
SET Salary *= 1.15

そうでなければ

UPDATE Emp
SET Salary = Salary * 1.15
于 2012-09-11T18:34:34.767 に答える
1

単一の特定の行を更新するためのクエリ

UPDATE Emp
SET Salary = Salary*15/100
WHERE Name = 'Zangiv'

すべての行を更新するためのクエリ

UPDATE Emp SET Salary = Salary*15/100
于 2015-04-04T19:32:59.187 に答える
-1

iveを増やす代わりに同じことをしたiveは値を20%減らしましたこれは次のようになります

SET Cost = Cost-(cost * 0.20)ここで、SerialNumber ='mmmmmm'

于 2016-09-07T14:27:52.043 に答える