| >>型通り取得と書込みを同時に、桐の#DSQL()でコレ↓なんとか出来る? >> >>SQL : INSERT INTO 氏名テーブル(ID,氏名) SELECT COALESCE(MAX(ID)+1,1),"小泉純一郎" FROM 氏名テーブル; > > 2回実行されるので、氏名が重複禁止になってれば問題ないのでは。
MySQL5.1で氏名に重複禁止索引を作ってやってみました。 #DSQL("1);INSERT INTO names(id,name) SELECT COALESCE(MAX(id)+1,1),&STR FROM names;--")
INSERTする値が変えられないと困るので、&STRに代入して使います。 #DSQLの引数は文字列定数なのに項目名や変数名は処理してからサーバに送られるのでややこしい。 変数名は何も付けないで""の中に書くと自動的に'変数値'になっていました。
pgsqlでは;の後の結果は桐から無視されてるような感じだったが、 MySQLだとINSERTした行もすぐ見える。
ただ、私のところは日本語設定がおかしいようでテーブル・列名に日本語使うと桐で??になってしまう。 上のINSERTでは変数値は日本語OK(サーバには入ってる)だがその行だけ抽出されない^^;;
|