`
myharmony
  • 浏览: 107861 次
  • 性别: Icon_minigender_1
  • 来自: 中山市
社区版块
存档分类
最新评论

如何修改Table Column Byte/Char

 
阅读更多
有时候虽然更改了NLS_LENGTH_SEMANTICS=CHAR,但是已经创建好的数据项,不一定能及时修改或者完全不能修改,这个时候我就需要把他们按照要求全部转换成所需要的Char,
具体PLSQL 代码如下:

CREATE OR REPLACE PROCEDURE PROC_CONVERTBYTETOCHAR IS

v_strSQL varchar2(200);

cursor cur_toChar is
  select table_name,column_name,data_type,data_length,data_default
    from user_tab_columns where char_used='B' and data_type='VARCHAR2';
 rec_toChar cur_toChar%rowtype;
BEGIN
   if cur_tochar%isopen then
     close cur_toChar;
   end if;
   open cur_toChar;
     loop
       fetch cur_tochar INTO rec_toChar;
       exit when cur_toChar%notfound;

           v_strSQL :=' alter table '||rec_toChar.Table_Name
                        ||' modify '||rec_toChar.Column_Name
                        ||' varchar2('||rec_toChar.Data_Length||' char) ';
         EXECUTE IMMEDIATE v_strSQL;
     commit;
     end loop;
   close cur_toChar;

EXCEPTION
  WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE(SQLERRM);
     
END;


执行procedure,最后我们具体去查看下,此DB Schema的table column到底是用那个类型:
SELECT * FROM USER_TAB_COLUMNS WHERE CHAR_USED='B'
分享到:
评论

相关推荐

    如何修改Access表结构问题

    ALTER TABLE tb ALTER COLUMN aa Byte; ``` - **Long(长整型)**: ```sql ALTER TABLE tb ALTER COLUMN aa Long; ``` - **Short(整型)**: ```sql ALTER TABLE tb ALTER COLUMN aa Short; ``` - **...

    C#多功能成语字典。这是一个用C#完成的多功能成语字典。

    ColumnCode = 1,//拼音简码 ColumnRecordNumber = 2//编号 }; #endregion ListViewColumnNameEnum /// /// Defines the idiom dictionary main form. /// </summary> public partial class ...

    Hibernate注解详解.pdf

    - **`@Version`**:用于实现乐观锁机制,通过版本号来检测并解决并发修改问题。例如: ```java @Entity public class Flight implements Serializable { @Version @Column(name="OPTLOCK") public Integer ...

    Hibernate自动生成数据库表映射实体类

    case Types.CHAR: typeInJava = "String"; break; case Types.TINYINT: case Types.SMALLINT: case Types.INTEGER: typeInJava = useInteger ? "Integer" : "int"; break; case Types.TIMESTAMP: case ...

    Oracle sqldeveloper without jdk (win+linux)

    - Bug 5084677: When a table to be edited contains a column with byte length semantics, the Edit Table dialog box will not initialize the value in the Units pop-up list to BYTE. Workaround: Select ...

    oracle 基础教程

    `ALTER TABLE`命令用于修改表结构,比如改变字段长度,如`ALTER TABLE MCCUS.MC_A_UP20ITEM MODIFY (UPITEM5 VARCHAR2(200 BYTE))`。 Oracle的`ROUND`函数用于进行四舍五入,例如`select round(123.456, 0)`会返回...

    微软内部资料-SQL性能优化5

    The number of levels in an index will vary depending on the number of rows in the table and the size of the key column or columns for the index. If you create an index using a large key, fewer ...

    Hibernate注释

    `@Lob`可以处理`String`、`Character[]`、`char[]`、`java.sql.Clob`、`Byte[]`、`byte[]`、`java.sql.Blob`以及`Serializable`类型的数据。 12. `@Column`:此注解用于控制字段与数据库列的映射,可以设置列名、...

    Oracle8i_9i数据库基础

    §4.1.1 使用视图来修改表中数据 128 §4.1.2 创建一个新视图 128 §4.1.3 删除一个视图 130 §4.1.4 改变视图 131 §4.2 实体视图(MATERIALIZED VIEW) 131 §4.2.1 创建实体视图 131 §4.2.2 创建实体视图日志 137 ...

    WPTools.v6.29.1.Pro

    + TParagraph.GetSubText now has optional parameter to disable the object reference char codes #1, #2 and #3 * HTML writer ignores #13 codes when writing the text. * additional savety code in ...

    2021-2022计算机二级等级考试试题及答案No.2568.docx

    例如,`SELECT DISTINCT column_name FROM table_name`会返回table_name表中column_name列的唯一值。 2. 存储过程的调用:在MySQL中,创建并调用存储过程的语句框架为`CREATE PROCEDURE`来定义存储过程,然后使用`...

    postgresql数据库的使用

    alter table stu alter column name type character(255); ``` - **删除**: - SQL命令示例: ```sql drop table if exists stu; ``` #### 五、数据类型 - **常用数据类型**: - 整数类型 (`smallint`, `...

    2021-2022计算机二级等级考试试题及答案No.16981.docx

    16. 在关系模型中,属性(Attribute)也称为列(Column),是构成关系(Table)的基本元素。 17. 关系模型的基础结构是二维表,对应数据库中的表格形式。 18. 1024B等于1KB,这是计算机存储容量的基本换算单位。 ...

    2021-2022计算机二级等级考试试题及答案No.16447.docx

    - **应用实例**:使用`CREATE INDEX`命令可以创建新的索引,例如`CREATE INDEX idx_name ON table_name (column_name)`。 #### 17. Java线程优先级 - **知识点解析**:在Java中,线程的优先级可以用1到10之间的整数...

    Java编程基础(2011-2012学年第一学期)复习提纲.doc

    - 插入: `INSERT INTO table (column1, column2) VALUES (value1, value2);` - 更新: `UPDATE table SET column1=value1 WHERE condition;` - 删除: `DELETE FROM table WHERE condition;` **4. 理解分层开发...

Global site tag (gtag.js) - Google Analytics