sql >> データベース >  >> RDS >> Sqlserver

テーブル値関数は更新可能ですか

    だからあなたが欲しいのは:

    Update cm.bo.hotlist('08Z')
    set
    <EmployeeID Column> = '06D'
    where
    city in ('New York', 'Chicago')
    

    はい、ここに来るすべての人にとって、基になるデータセットが更新可能である限り、インラインテーブル値関数は更新可能です。コードサンプル:

    IF EXISTS(select * from sys.objects where name = 'test' and schema_id = schema_id('dbo')) BEGIN DROP TABLE dbo.test; END
    
    CREATE TABLE dbo.test(Employee varchar(10), city varchar(10));
    
    CREATE FUNCTION [dbo].[getEmployeeCities] ( @employee varchar(10) RETURNS TABLE  AS
    RETURN  (  SELECT * from test where employee = @employee );
    
    insert into dbo.test select 'A', 'Chicago';
    insert into dbo.test select 'B', 'New York';
    
    select * from dbo.test;
    
    update dbo.getEmployeeCities('A')
    set Employee = 'B'
    where city = 'Chicago';
    
    select * from dbo.test;
    


    1. 時間ではなく日ごとにタイムスタンプをグループ化する

    2. SQLプロシージャはテーブルを返すことができますか?

    3. t-sql とのリレーションを持つ複数のテーブルを DataSet に読み込む

    4. PHPのグリフに基づいて文字列の言語を確認してください