有时候虽然更改了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'
分享到:
相关推荐
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; ``` - **...
ColumnCode = 1,//拼音简码 ColumnRecordNumber = 2//编号 }; #endregion ListViewColumnNameEnum /// /// Defines the idiom dictionary main form. /// </summary> public partial class ...
- **`@Version`**:用于实现乐观锁机制,通过版本号来检测并解决并发修改问题。例如: ```java @Entity public class Flight implements Serializable { @Version @Column(name="OPTLOCK") public Integer ...
case Types.CHAR: typeInJava = "String"; break; case Types.TINYINT: case Types.SMALLINT: case Types.INTEGER: typeInJava = useInteger ? "Integer" : "int"; break; case Types.TIMESTAMP: case ...
- 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 ...
`ALTER TABLE`命令用于修改表结构,比如改变字段长度,如`ALTER TABLE MCCUS.MC_A_UP20ITEM MODIFY (UPITEM5 VARCHAR2(200 BYTE))`。 Oracle的`ROUND`函数用于进行四舍五入,例如`select round(123.456, 0)`会返回...
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 ...
`@Lob`可以处理`String`、`Character[]`、`char[]`、`java.sql.Clob`、`Byte[]`、`byte[]`、`java.sql.Blob`以及`Serializable`类型的数据。 12. `@Column`:此注解用于控制字段与数据库列的映射,可以设置列名、...
§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 ...
+ 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 ...
例如,`SELECT DISTINCT column_name FROM table_name`会返回table_name表中column_name列的唯一值。 2. 存储过程的调用:在MySQL中,创建并调用存储过程的语句框架为`CREATE PROCEDURE`来定义存储过程,然后使用`...
alter table stu alter column name type character(255); ``` - **删除**: - SQL命令示例: ```sql drop table if exists stu; ``` #### 五、数据类型 - **常用数据类型**: - 整数类型 (`smallint`, `...
16. 在关系模型中,属性(Attribute)也称为列(Column),是构成关系(Table)的基本元素。 17. 关系模型的基础结构是二维表,对应数据库中的表格形式。 18. 1024B等于1KB,这是计算机存储容量的基本换算单位。 ...
- **应用实例**:使用`CREATE INDEX`命令可以创建新的索引,例如`CREATE INDEX idx_name ON table_name (column_name)`。 #### 17. Java线程优先级 - **知识点解析**:在Java中,线程的优先级可以用1到10之间的整数...
- 插入: `INSERT INTO table (column1, column2) VALUES (value1, value2);` - 更新: `UPDATE table SET column1=value1 WHERE condition;` - 删除: `DELETE FROM table WHERE condition;` **4. 理解分层开发...