1.oracle中有这样的功能 :     "表"."字段"%Type  ,他能得到该表中此字段的类型,请问mysql中有同样的函数么??
2.oracle中有这样的功能 :    Raise_Application_Error  ,他能抛出自定义的异常,请问mysql中有这样的存储过程活函数么?那么如果没有现成的功能过程,有没有sql语句可以实现的方式呢??
先谢谢大家帮助,小弟不才..

解决方案 »

  1.   

    1  可以去information_schema.columns系统表查找
    2 mysql存储过程也提供了对异常处理的功能:通过定义HANDLER来完成异常声明的实现
      

  2.   

    1. 我并不在information_schema库中,而是在其他库中,如果想写个存储过程,如何能查到information_schema的信息呢??
    2.HANDLER可否提供个例子??
      

  3.   

    1. 我并不在information_schema库中,而是在其他库中,如果想写个存储过程,如何能查到information_schema的信息呢??
    可以
    select * from information_schema.columns where ....2.HANDLER可否提供个例子??
    mysql helpmysql> CREATE PROCEDURE handlerdemo ()
        -> BEGIN
        ->   DECLARE CONTINUE HANDLER FOR SQLSTATE '23000' SET @x2 = 1;
        ->   SET @x = 1;
        ->   INSERT INTO test.t VALUES (1);
        ->   SET @x = 2;
        ->   INSERT INTO test.t VALUES (1);
        ->   SET @x = 3;
        -> END;
        -> //
    Query OK, 0 rows affected (0.00 sec)
      

  4.   

    经过查找和学习,发现HANDLER 的用法是获得一个mysql预设的error值,来执行该异常代码获得后的sql语句
    但是我想自定义一个异常代码,或者说我需要抛出的异常并不是mysql预设的错误而是从多表逻辑中发现一个不可插入的因素.比如说xxx表已有的某条信息,不可重复插入,但又不能设为主键,当例如这种因素下返回出一个异常.可是用HANDLER forsqlstatte是没有这个错误代码的,请问有什么办法建立一个error代码或者什么其他的方法么??
      

  5.   

    貌似没什么方法自己建立error