我可以使用标量函数作为 .create table 控制命令中的 table 名称吗?
Can I use a scalar function as the table name in .create table control command?
我有一个存储函数,可以根据一组参数生成身份名称,如下所示:
.create function
with (docstring = 'Returns the table name for the specified data log provider.')
GetTableName(param1: string, param2: string)
{
// Some string cleansing and concatenation
let tableName = strcat(system, source);
tableName
}
我想用这个函数创建一个table。尝试了以下选项但没有成功:
.create table GetTableName('value1', 'value2') (Timestamp: datetime)
.create table [GetTableName('value1', 'value2')] (Timestamp: datetime)
我猜命令希望 table 名称是字符串文字。有什么办法可以做到这一点?
创建 table 的控制命令不能包含查询执行(反之亦然:查询不能 运行 控制命令)。
出于安全原因存在限制。
您可以使用客户端代码并进行两次调用来实现该场景:
1) 导出 table 名称
2) 生成table创建命令并发送到服务器。
我有一个存储函数,可以根据一组参数生成身份名称,如下所示:
.create function
with (docstring = 'Returns the table name for the specified data log provider.')
GetTableName(param1: string, param2: string)
{
// Some string cleansing and concatenation
let tableName = strcat(system, source);
tableName
}
我想用这个函数创建一个table。尝试了以下选项但没有成功:
.create table GetTableName('value1', 'value2') (Timestamp: datetime)
.create table [GetTableName('value1', 'value2')] (Timestamp: datetime)
我猜命令希望 table 名称是字符串文字。有什么办法可以做到这一点?
创建 table 的控制命令不能包含查询执行(反之亦然:查询不能 运行 控制命令)。 出于安全原因存在限制。
您可以使用客户端代码并进行两次调用来实现该场景: 1) 导出 table 名称 2) 生成table创建命令并发送到服务器。