我正在尝试从表中导出一些列作为编码整数。
基本上我想使用bash脚本将SQL命令作为命令行参数传递给mclient
。我的bash脚本如下所示:
#!/bin/bash
dir=`pwd`
for col in occupation native_country martial_status race sex
do
mclient -d adult -s \
"create function encode${col}(s varchar(200)) returns int begin return (select code from ${col}_dict where ${col}=s); end;"
mclient -d adult -s \
"COPY (select encode${col}($col) from adult) INTO '${dir}/${col}.txt' NULL AS '0'"
mclient -d adult -s \
"drop function encode${col}"
done
在每次迭代中,我想动态创建一个SQL函数。然后使用该函数对属性进行编码并将其导出到文本文件。最后放弃了这个功能。
然而,输出奇怪地包含一些怪物角色,
好像它无法识别功能名称。
如果我删除第二个mclient
命令,则其他操作成功。
operation successful
Function 'X�..X�' not defined
operation successful
operation successful
Function '��"X�.X�' not defined
operation successful
operation successful
Function ' X�.PX�' not defined