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

Postgresqlで同等のテーブル値パラメーター

    @HamidKhan-開発言語はJavaまたはC#ですか?

    CREATE TABLE public.employee (
      emp_id INTEGER NOT NULL,
      emp_nm VARCHAR(40),
      first_in_time TIMESTAMP WITH TIME ZONE DEFAULT clock_timestamp(),
      last_chg_time TIMESTAMP WITH TIME ZONE DEFAULT clock_timestamp(),
      CONSTRAINT employee_pkey PRIMARY KEY(emp_id)
    )
    WITH (oids = false);
    
    CREATE TYPE public.employee_udt AS (
      emp_id INTEGER,
      emp_nm VARCHAR(40)
    );
    

    --c#コード1

    public class EmployeeUdt
    {
        [PgName("emp_id")] 
        public int EmpId { get; set; } 
    
        [PgName("emp_nm")]
        public string EmpNm { get; set; }
    }
    

    --c#コード2

    List<EmployeeUdt> lst_param = new List<EmployeeUdt>();
    
    for (int i = 0; i < this.dataGridView1.Rows.Count; i++)
    {
    lst_param.Add(
    new EmployeeUdt
    {
        EmpId = Convert.ToInt32(this.dataGridView1[0, i].Value),
        EmpNm = this.dataGridView1[1, i].Value.ToString()
    }
    );
    }
    
    var _param = new[] {
    new NpgsqlParameter
    {
        ParameterName="p_employee",
        NpgsqlDbType = NpgsqlDbType.Composite,
        SpecificType = typeof(EmployeeUdt[]),
        NpgsqlValue = lst_param
    }
    
    };
    
    SqlHelper.ExecuteNonQuery<EmployeeUdt>(this.connstring, "usp_set_emp", _param);
    


    1. ORA-29283の解決方法:無効なファイル操作

    2. MySQLで過去3か月の売上データを取得する方法

    3. PostgreSQLで遅いクエリログを有効にする方法

    4. エラー:ファイル「$ libdir / plpython2」にアクセスできませんでした–エラー:ファイル「$ libdir/plpython3」にアクセスできませんでした