0
Я хочу добавить строки в таблицу с серийным «ID».Как вставить запись, имеющую серийный номер в таблице PostgreSQL?
мне нужно НЕ поставить идентификатор, чтобы быть incrementd автоматически, но я не могу оставить его:
NpgsqlCommand cmd = new NpgsqlCommand("insert into \"Min_Bar_Price_Data\" values(:SEC_ID, :PX_OPEN, :PX_HIGH, :PX_LOW, :PX_LAST, :PX_VOLUME, :Date)", conn);
//cmd.Parameters.Add(new NpgsqlParameter("ID", DbType.Int32));
cmd.Parameters.Add(new NpgsqlParameter("SEC_ID", DbType.Int32));
cmd.Parameters.Add(new NpgsqlParameter("PX_OPEN", DbType.Double));
cmd.Parameters.Add(new NpgsqlParameter("PX_HIGH", DbType.Double));
cmd.Parameters.Add(new NpgsqlParameter("PX_LOW", DbType.Double));
cmd.Parameters.Add(new NpgsqlParameter("PX_LAST", DbType.Double));
cmd.Parameters.Add(new NpgsqlParameter("PX_VOLUME", DbType.Double));
cmd.Parameters.Add(new NpgsqlParameter("Date", DbType.DateTime));
Это таблица:
CREATE TABLE "Min_Bar_Price_Data"
(
"ID" integer NOT NULL DEFAULT nextval('"Price_Data_ID_seq"'::regclass),
"Sec_ID" integer NOT NULL,
"PX_OPEN" double precision,
"PX_HIGH" double precision,
"PX_LOW" double precision,
"PX_LAST" double precision,
"PX_VOLUME" double precision,
"Date" timestamp without time zone NOT NULL,
CONSTRAINT "Min_Bar_Price_Data_pkey" PRIMARY KEY ("Sec_ID", "Date")
)
WITH (
OIDS=FALSE
);
Затем я заполняю в параметрах:
//cmd.Parameters["ID"].Value = ID;
cmd.Parameters["SEC_ID"].Value = sec_ID;
cmd.Parameters["PX_OPEN"].Value = 0.0;
cmd.Parameters["PX_HIGH"].Value = 0.0;
cmd.Parameters["PX_LOW"].Value = 0.0;
cmd.Parameters["PX_LAST"].Value = d.Close;
cmd.Parameters["PX_VOLUME"].Value = 1.0;
cmd.Parameters["Date"].Value = d.DT;
cmd.ExecuteNonQuery();
{ "ERROR: 42804: колонки \" PX_VOLUME \»является двойной точности типа, но выражение времен типа набивать без часового пояса "}