1,输出数据库版本变量为xml格式
Shell> mysql -X -uroot -proot -e "use test; show variables like '%version%';"
参数X表示生成xml格式的输出 , 参数e表示执行后面的命令

本日志由 胡子 于 2008-10-08 14:17:11 发表到 学习随笔 中,目前已经被浏览 1840 次,评论 0 次;

作者添加了以下标签: mysql导出导入xml文件实例存储过程

首页只显示了部分日志内容,要查看日志的全部内容请阅读全文

近日被一个问题给疑惑:如何向一个数据库表内插入一个数据,然后获得插入后的产生的主键值,并将该值和其他参数写入另一个表,因为一直使用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

本日志由 胡子 于 2004-11-29 11:07:13 发表到 学习随笔 中,目前已经被浏览 1598 次,评论 0 次;

作者添加了以下标签: 多表关联写入存储过程