私は列(id、name、salary)を持つ単純なテーブルを持っています。SQL Serverで他の列名と出力パラメータを使用する方法
ストアドプロシージャを使用してIDで名前、給与、年俸を取得したいとします。
私はこのような単純なストアドプロシージャを作成するので考えた:
CREATE PROCEDURE spGetDetails
@id int,
@annualSal int out
AS
BEGIN
SELECT
name, salary,
@annualSal = (salary * 12)
FROM
tblPrac
WHERE
id = @id
END
しかし、私はエラーを取得しています:
A SELECT statement that assigns a value to a variable must not be combined with data-retrieval operations
このQSはすでに私のリンクを提供し、I下さい頼まれた場合qsを削除します。私は検索したが、私はキーワードが足りないと思う。ありがとう
インターネットでエラーを検索しようとしましたか? – etsa
エラーメッセージでは、1つのステートメントで代入と選択を行うことはできないことを明確に示しています。 –
エラーが示すように、2つの操作を組み合わせることはできませんが、この場合、出力パラメータのかなり不必要な使用のようです。プロシージャを呼び出すものはどれも最初の2つの列を読み込む可能性が高いので、3番目の列「AnnualSalary」を使用するだけでなく、出力パラメータではなく、これを介して年間給料を取得するとしているものは何ですか? – GarethD