当前位置: 首页 > 面试题库 >

使用无效的副作用运算符在函数中插入

晏经武
2023-03-14
问题内容

我的sql函数中有以下代码:

if @max_chi > -999
begin
    INSERT INTO CH_TABLE(X1, X2, VALUE)
    VALUES(cur_out.sessionnumber, maxpos, max_chi)

    commit
end

以下是SQL Server 2008查询,它给我一个错误:

在函数中无效使用副作用运算符“ INSERT”。

为什么我不允许这样做?我该怎么做才能解决此问题?


问题答案:

您不能使用将数据 插入基表中的功能 。函数 返回 数据。这被列为了 第一个
文档中的限制

用户定义的函数不能用于执行修改数据库状态的操作。

“修改数据库状态”包括更改数据库中的任何数据(尽管表变量是OP大约3年前就不会关心的明显例外-该表变量仅在函数调用期间有效,并且不影响基础表)。

您应该使用存储过程,而不是函数。



 类似资料:
  • 这是lambda函数的index.js 这是我的lambda函数的getUsersByCompanyId。js公司

  • 使用stream API很容易将具有的对象列表转换为以该为键的列表: 有没有办法用运算符替换lambda表达式:?类似的内容

  • 问题内容: 请查看以下代码: 这将显示11。 但!如果在功能参数中删除“&”运算符,则结果将为10。 这是怎么回事? 问题答案: 该运营商告诉PHP不要把它传递给函数时数组复制。取而代之的是,将对数组的 引用 传递给函数,因此函数修改了原始数组而不是副本。 只要看这个最小的例子: 在这里,输出为: –的呼叫未修改。另一方面,打到了。

  • 运算符函数既可以是成员函数,也可以是非成员函数。非成员函数通常是友元函数。成员函数是用this指针隐式地访问类对象的某个参数,非成员函数的调用必须明确地列出该参数。 在重载运算符 ()、[]、->,或者任何赋值运算符时,运算符重载函数必须声明为类的一个成员。对于其他的运算符,运算符重载函数可以是非成员函数。 不管运算符函数是成员函数还是非成员函数,运算符在表达式中的使用方式是相同的。哪种实现方式更

  • 本文向大家介绍Python中的数学运算操作符使用进阶,包括了Python中的数学运算操作符使用进阶的使用技巧和注意事项,需要的朋友参考一下 Python中对象的行为是由它的类型 (Type) 决定的。所谓类型就是支持某些特定的操作。数字对象在任何编程语言中都是基础元素,支持加、减、乘、除等数学操作。 Python的数字对象有整数和浮点数,支持各种数学操作,比如+, -,*, /等。 没有这些操作符

  • 问题是我得到错误(过滤器表达式只能包含非主键属性:主键属性:名称)。租户是我的主分区键,名称是我的主排序键。 我需要在dynamo db中编写与此等效的内容:从项目中选择*,其中tenant='testProject',name in('John','Dave')。