同じカテゴリのすべての商品の価格を変更するストアドプロシージャを作成する必要があります。私は2つの入力パラメータしか使用できません。 @artikelcategorie
(カテゴリ)と@ingangsdatum
(価格変更が開始される日付)。同じカテゴリのすべての商品のストアドプロシージャによる価格の変更
例えば'lux'
(カテゴリ)と'10-19-2017'
(日付)を入力すると、そのカテゴリのすべての記事の価格が10%上昇するはずです。
私は文字通りこの点に固執しています。
データベースは次のようになります。
は現在、私はSQLコードとしてこれを中に持っている
IF EXISTS (SELECT * FROM sys.objects WHERE type ='P' AND name = 'spVerhoogPrijzen')
DROP PROCEDURE spVerhoogPrijzen
GO
CREATE PROCEDURE spVerhoogPrijzen
(
@artikelcategorie varchar(3),
@ingangsdatum date
)
AS
BEGIN
BEGIN TRANSACTION
UPDATE artikelprijs SET einddatum = DATEADD(DAY, -1, @ingangsdatum)
WHERE catcode = @artikelcategorie AND einddatum > @ingangsdatum;
IF @@ERROR <> 0
BEGIN
ROLLBACK
RAISERROR ('Error', 16, 1)
RETURN
END
--INSERT INTO artikelprijs VALUES (?, ?, @ingangsdatum, '2099-12-31')
COMMIT
END
GO
最初の部分もうまくいきません。 'artikelprijs'は' catcode'を列にしません。 –
@HamletHakobyanストアドプロシージャ内でテーブルをジョインすることは可能ですか? –
はい、[UPDATE(Transact-SQL)](https://docs.microsoft.com/en-us/sql/t-sql/queries/update-transact-sql) –