テーブルUser
には、ユーザー情報を格納するn個の列があります。更新された列名がSQL Serverの別のテーブルに格納されているテーブルを更新する方法
テーブルUser
の変更を一時的に保存するために使用するテーブルUser_Edit_Changes
があります。管理者の確認後に、実際のテーブルUser
を新しい値で更新します。
表User_Edit_Changes
には、更新を要求されたユーザー列とそれに対する新しい値が格納されていました。値の列と新しい値を変更してUser_Edit_Changes
から取得し、User
テーブルを更新する動的クエリを作成するにはどうすればよいですか?
私のサンプルはtableコマンドを作成している、 教師の店舗に関する情報、
CREATE TABLE [dbo].[Teacher](
[code_ostad] [numeric](18, 0) NOT NULL,
[name] [varchar](30) NULL,
[family] [varchar](40) NOT NULL,
[namep] [varchar](30) NULL,
[idmadrak] [numeric](18, 0) NULL,
[namemadrak] [varchar](50) NULL,
[idresh] [numeric](18, 0) NULL,
[nameresh] [varchar](50) NULL,
[martabeh] [numeric](18, 0) NULL,
[namemartabeh] [varchar](30) NULL,
[nahveh_hamk] [numeric](18, 0) NULL,
CREATE TABLE [Request].[Tbl_ProfessorRequest](
[ProfessorRequestID] [int] IDENTITY(1,1) NOT NULL,
[Code_Ostad] [int] NULL,
[RequestTypeID] [bigint] NULL,
[RequestLogID] [bigint] NULL,
[CreateDate] [nvarchar](10) NULL,
[Note] [nvarchar](1000) NULL,
[term] [nvarchar](8) NULL,
[ProfessorMessage] [nvarchar](1000) NULL,
[Erae_Be] [nvarchar](100) NULL,
[ChangeSet] [int] NULL,
[isdeleted] [bit] NOT NULL,
[ScanImageUrl] [nvarchar](300) NULL,
CREATE TABLE [Request].[Tbl_ProfessorEditInfoFields](
[Id] [int] IDENTITY(1,1) NOT NULL,
[code_ostad] [int] NOT NULL,
[teacher_Column_Name] [nvarchar](200) NULL,
[OldValue] [nvarchar](200) NULL,
[NewValue] [nvarchar](200) NULL,
[State] [int] NOT NULL,
[ProfessorRequestID] [int] NOT NULL,
通常の更新クエリと同じ方法で、文字列で作成してから文字列を実行します。 – Chuck
これらすべてのテーブルのDDL文を追加できますか? –