我创建一个函数来执行动态SQL并返回一个值。我得到“只能从函数内执行函数和某些扩展存储过程”。作为错误。
功能:
Create Function fn_GetPrePopValue(@paramterValue nvarchar(100))
returns int as
begin
declare @value nvarchar(500);
Set @SQLString = 'Select Grant_Nr From Grant_Master where grant_id=' + @paramterValue
exec sp_executesql
@query = @SQLString,
@value = @value output
return @value
end
执行:
Select dbo.fn_GetPrePopValue('10002618') from Questions Where QuestionID=114
和:
Select fn_GetPrePopValue('10002618') from Questions Where QuestionID=114
该函数是否被正确调用或该函数不正确?
您不能通过函数使用动态SQL,也不能调用存储过程。
Create proc GetPrePopValue(@paramterValue nvarchar(100))
as
begin
declare @value nvarchar(500),
@SQLString nvarchar(4000)
Set @SQLString = 'Select @value = Grant_Nr From Grant_Master where grant_id = @paramterValue'
exec sp_executesql @SQLString, N'@paramterValue nvarchar(100)',
@paramterValue,
@value = @value output
return @value
end
如何化解?
问题内容: 有什么方法可以将动态生成的SQL提交给Teradata?我编写了一个查询,该查询将创建用于对表进行非规范化的代码。现在,我将代码放到客户端(SAS)中,然后在第二步中重新提交。我对Teradata宏或过程不熟悉;这样的事情行得通吗? 为了说明这一点,我有一个定义如下的表: 该表每天()填充一次,用于监视另一个表中对email_date的更改。以下查询返回我可以运行以创建我的非规范化视图
18/04/25 11:58:34 INFO sparkcontext:Created broadcast 0 from Traceback(最近的调用为last):文件“/users/xxxxx/scripts/hive/hive.py”,第12行,在spark.sql(“select*from pokes”).show()文件“/usr/local/cellar/apache-spark/2.
我正在尝试使用SQLite数据库在android中本地存储电子邮件。当我第一次调用,该数据库尚不存在,已创建。我在create语句中遇到语法错误。。。我的代码看起来像这样。。。 我不熟悉SQLite语法,我一直在寻找导致这种情况的原因,但没有任何结果。知道是什么引起的吗?数据库确实是本地存储此类数据的最佳方式。 准确的错误如下所示。。
问题内容: 这是代码 错误回溯为: 似乎struct.unpack方法将’\ xff '解析为255并分配给,无论传递的非null字符集参数如何。 这是MySQL版本问题吗?(版本) 问题答案: 可以参考 拉取请求591