MonetDB没有识别通过命令行给mclient的函数名

时间:2015-01-22 14:05:16

标签: bash monetdb

我正在尝试从表中导出一些列作为编码整数。 基本上我想使用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

0 个答案:

没有答案