123
返回列表 发新帖
楼主: gaolu1234

[原创] 灌个水: oracle 脚本转换 mysql

[复制链接]
论坛徽章:
13
生肖徽章2007版:兔
日期:2009-03-24 09:50:192014年新春福章
日期:2014-02-18 16:43:09大众
日期:2013-09-02 09:13:19蜘蛛蛋
日期:2013-05-20 09:44:372013年新春福章
日期:2013-02-25 14:51:24蛋疼蛋
日期:2012-11-27 15:47:59ITPUB 11周年纪念徽章
日期:2012-10-09 18:09:19奥运会纪念徽章:足球
日期:2012-10-08 08:54:372011新春纪念徽章
日期:2011-03-23 16:25:422011新春纪念徽章
日期:2011-02-18 11:43:34
21#
 楼主| 发表于 2009-3-19 14:22 | 只看该作者
mysql :
TEXT[(M)]
最大长度为65,535(216–1)字符的TEXT列。

mysql在text字段上面,建立索引,必须要指定大小
create table abcd
(
  NAME                     TEXT(2000) not null,
create unique index XAK1  on abcd (NAME(200));

200 代表是建立索引的长度

使用道具 举报

回复
论坛徽章:
13
生肖徽章2007版:兔
日期:2009-03-24 09:50:192014年新春福章
日期:2014-02-18 16:43:09大众
日期:2013-09-02 09:13:19蜘蛛蛋
日期:2013-05-20 09:44:372013年新春福章
日期:2013-02-25 14:51:24蛋疼蛋
日期:2012-11-27 15:47:59ITPUB 11周年纪念徽章
日期:2012-10-09 18:09:19奥运会纪念徽章:足球
日期:2012-10-08 08:54:372011新春纪念徽章
日期:2011-03-23 16:25:422011新春纪念徽章
日期:2011-02-18 11:43:34
22#
 楼主| 发表于 2009-3-20 13:58 | 只看该作者

mysql 里面游标不能直接访问 information_schema,必须用临时表来转接

mysql 里面游标不能直接访问 information_schema,必须用临时表来转接

使用道具 举报

回复
论坛徽章:
13
生肖徽章2007版:兔
日期:2009-03-24 09:50:192014年新春福章
日期:2014-02-18 16:43:09大众
日期:2013-09-02 09:13:19蜘蛛蛋
日期:2013-05-20 09:44:372013年新春福章
日期:2013-02-25 14:51:24蛋疼蛋
日期:2012-11-27 15:47:59ITPUB 11周年纪念徽章
日期:2012-10-09 18:09:19奥运会纪念徽章:足球
日期:2012-10-08 08:54:372011新春纪念徽章
日期:2011-03-23 16:25:422011新春纪念徽章
日期:2011-02-18 11:43:34
23#
 楼主| 发表于 2009-3-20 13:59 | 只看该作者

写个存储过程,drop foreignkey

drop procedure if exists DropForeignKey;
delimiter //
create  procedure dropforeignkey(p_tablename varchar(255),p_fieldname varchar(255))
begin
declare v_sql varchar(255) ;
declare v_constraint_name varchar(255) ;
declare done int default 0;
declare c cursor for select  constraint_name  from t_constraint ;
declare continue handler for sqlstate '02000' set done = 1;

        drop temporary table if exists t_constraint ;
        create temporary table if not exists t_constraint (constraint_name  varchar(255));
        insert into t_constraint
        select  a.constraint_name  from information_schema.key_column_usage a
        where a.table_name = p_tablename  and a.column_name = p_fieldname
        and exists (select 1 from information_schema.TABLE_CONSTRAINTS b where a.CONSTRAINT_NAME = b.CONSTRAINT_NAME
                        and a.TABLE_NAME = b.TABLE_NAME and b.CONSTRAINT_TYPE = 'FOREIGN KEY' ) ;
                           
        open c;
        repeat
        fetch c into v_constraint_name ;
        if not done then
                set v_sql = concat ('alter table ' ,p_tablename
                                , ' drop foreign key ',v_constraint_name ) ;                                
                set @sql = v_sql;
                prepare sl from @sql;
                execute sl;
                deallocate prepare sl;               
               
        end if ;
        until done end repeat;
        close c;
end ;
delimiter  ;

[ 本帖最后由 gaolu1234 于 2009-3-20 14:22 编辑 ]

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表