近日被一个问题给疑惑:如何向一个数据库表内插入一个数据,然后获得插入后的产生的主键值,并将该值和其他参数写入另一个表,因为一直使用mysql,access等不含存储过程的数据库,所以百思不得其解,终于从日本朋友那里得到了使用存储过程实现解决办法,其实看看也挺简单的。 都怪自己学艺不精。
程序代码:
CREATE procedure develop.insert_base_grid(@b_i int, @e_c int,@p_c varchar(192),@g_c int,@g_n int)
as
-- 変数宣言
DECLARE @parent INT -- 親レコードのID 保存
DECLARE @error INT -- エラー値 保存
-- トランザクション開始
BEGIN TRANSACTION
-- 親レコードの挿入
INSERT INTO develop.syuko_base ( bills_id, employee_cd, prmss_comments, prmss_update, prmss_registdate )
SELECT @b_i AS チラシID, @e_c AS 出稿MDCD, @p_c AS コメント, getDate() AS 更新日, getDate() AS 登録日;
SET @error = @@ERROR
IF @ERROR <> 0 GOTO EXIST_ERR
-- 親レコードのID の値を保存
SET @parent = SCOPE_IDENTITY()
-- 子レコードの挿入
INSERT INTO develop.gridinfo ( prmss_id, grid_cd, grid_num )
SELECT @parent AS 出稿CD, @g_c AS グリッドCD, @g_n AS グリッド数;
SET @error = @@ERROR
IF @ERROR <> 0 GOTO EXIST_ERR
-- トランザクションのコミット
COMMIT TRANSACTION
GOTO EXIST
-- エラー処理
EXIST_ERR:
ROLLBACK TRANSACTION
PRINT @error
GOTO EXIST
-- 終了処理
EXIST:
GO
受用, 感谢.
可是我已经有好几次直接关闭了,应该怎么办呢?之前登录的用户还在
小站http://kkk.sjhcx.com/的SEO布局不知如何,请博主有空指点
来访既是有缘。。留下足迹再走
不错,感人,给力
不错也~~~~
就是,就是,现在的电影就看票房,完全没社会责任心
其实对于这个问题,我们应该淡定,平常心,平常心。
写的不错, 兔年快乐喽!!
哇,春节快乐, 这几天玩过头了
Powered by Bitrac, Designed by Loveyuki, Icon by Led Icon Set. 京ICP备07032740号-2