Convert/Cast Gupta SQLBase 12 中的 LONG VARCHAR 到 VARCHAR
Convert/Cast LONG VARCHAR to VARCHAR in Gupta SQLBase 12
我正在尝试 convert/cast 使用临时 table.
将 SQLBase LONG VARCHAR 列转换为 VARCHAR 列
正在使用的来源 table 有一个类型为“long varchar”的注释字段列。
我找不到使用 convert/cast 函数的正确语法。
如果我尝试隐式 cast/convert 如下所示,我收到的错误是
Error: 01627 TYP LON Invalid data type (long expected)
create table SYSADM.TMP_STUDENT_ (
STUDENT_NO integer,
STUDENT_COMMENTS nvarchar(255)
) pctfree 10;
insert into SYSADM.TMP_STUDENT_ (
STUDENT_NO ,
STUDENT_COMMENTS ) select
STUDENT_NO,
STUDENT_COMMENTS
from SYSADM.STUDENT;
grant all on SYSADM.TMP_STUDENT_ to PUBLIC;
不能在子选择中使用 LONG VARCHAR 列。
但要实现您想要的效果,您可以 运行 卸载(table)然后加载(进入新的 Table)。
要查看这些命令的所有语法选项,请转到:SQLBase Books。下载你想要的版本,并阅读 'Language Reference' 手册,特别是 UNLOAD 和 LOAD。如果您的语法正确,这将起作用 - 我以前做过,但太多了,无法涵盖此处的所有选项..
或者,您可以编写一个存储过程(SQLBase 存储过程很棒 - 您可以像在 TD 中一样使用 SAL。如果使用 SQLCommandCentre 则容易编写)从 SQLTalk 执行。
在一个循环中,将 LONG col 读入一个 Long String,然后从 Long String 插入到 varchar col。
我正在尝试 convert/cast 使用临时 table.
将 SQLBase LONG VARCHAR 列转换为 VARCHAR 列正在使用的来源 table 有一个类型为“long varchar”的注释字段列。 我找不到使用 convert/cast 函数的正确语法。
如果我尝试隐式 cast/convert 如下所示,我收到的错误是
Error: 01627 TYP LON Invalid data type (long expected)
create table SYSADM.TMP_STUDENT_ (
STUDENT_NO integer,
STUDENT_COMMENTS nvarchar(255)
) pctfree 10;
insert into SYSADM.TMP_STUDENT_ (
STUDENT_NO ,
STUDENT_COMMENTS ) select
STUDENT_NO,
STUDENT_COMMENTS
from SYSADM.STUDENT;
grant all on SYSADM.TMP_STUDENT_ to PUBLIC;
不能在子选择中使用 LONG VARCHAR 列。
但要实现您想要的效果,您可以 运行 卸载(table)然后加载(进入新的 Table)。
要查看这些命令的所有语法选项,请转到:SQLBase Books。下载你想要的版本,并阅读 'Language Reference' 手册,特别是 UNLOAD 和 LOAD。如果您的语法正确,这将起作用 - 我以前做过,但太多了,无法涵盖此处的所有选项..
或者,您可以编写一个存储过程(SQLBase 存储过程很棒 - 您可以像在 TD 中一样使用 SAL。如果使用 SQLCommandCentre 则容易编写)从 SQLTalk 执行。 在一个循环中,将 LONG col 读入一个 Long String,然后从 Long String 插入到 varchar col。