[pgsql-jp: 40757] ストアドファンクションの順次実行
yukihito miso
oira3ryu @ gmail.com
2011年 5月 2日 (月) 00:07:58 JST
お世話になっております。
よろしくお願いいたします。
FreeBSD 8.2 + PostgreSQL 9.0.4 + Npgsql
Windows 7 Pro + VS 2010 C# Proです。
イメージとしては
一時テーブルを作成
一時テーブルにインサート
をストアドファンクションを順次実行し繰り返す
その結果をFillしてCrystalReportsに渡したいのですが
デバッグすると
da.Fill(ds, "results");の部分で
syntax error at or near "insert_tmp_records1"
でエラーになって止まります。
ストアドを順次実行する部分が間違っているのかと
思っているのですが、Npgsql: ユーザマニュアル等を
参考にしているのですが、解決に至っておりません。
どなたか誤りをご指摘いただければと思います。
da.SelectCommand = new NpgsqlCommand
(
"create_tmp_records1(var_col_TIME_function(:n_id));"
+ "insert_tmp_records1(var_col_TIME_sub_function(:n_id));"
+ "create_tmp_records2(var_col_TIME_function(:n_id));"
+
"insert_tmp_records2(var_col_COALESCE_sub_function(:n_id), :n_id);"
+ "create_tmp_records3(var_col_TIME_function(:n_id));"
+ "insert_tmp_records3(var_col_function(:n_id), :n_id);"
+ "create_tmp_records4(var_col_TIME_function(:n_id));"
+ "insert_tmp_records4(var_col_function(:n_id), :n_id);"
+ "create_tmp_records5(var_col_TIME_function(:n_id));"
+ "insert_tmp_records5(var_col_function(:n_id), :n_id);"
+ "create_tmp_records(var_col_TIME_function(:n_id));"
+ "insert_tmp_records(var_col_function(:n_id));"
+ "update_tmp_records4(var_col_function(:n_id));"
+ "update_tmp_records5(var_col_function(:n_id));"
+ "SELECT * FROM tmp_records;",
m_conn
);
da.SelectCommand.CommandType = CommandType.StoredProcedure;
if (cmb_n_id.SelectedItem == null)
{
da.SelectCommand.Parameters.Add(new NpgsqlParameter("n_id",
NpgsqlTypes.NpgsqlDbType.Integer, 0, "n_id",
ParameterDirection.Input, false, 0, 0, DataRowVersion.Current,
DBNull.Value));
}
else
{
DataRowView row = (DataRowView)cmb_n_id.SelectedItem;
da.SelectCommand.Parameters.AddWithValue("n_id", row["n_id"]);
}
da.Fill(ds, "results");
CrResults myReport = new CrResults();
myReport.SetDataSource(ds);
CrvResults.ReportSource = myReport;
pgsql-jp メーリングリストの案内