sql update topic set relation_person_number = relation_person_number-1, real_relation_person_number =real_relation_person_number-1 WHERE id = #{id} 如果relation_person_number-1小于0 就取0怎么写
时间: 2024-02-28 08:54:58 浏览: 68
你可以使用 SQL 中的 CASE 语句来实现这个需求。下面是一个示例代码:
```
UPDATE topic
SET relation_person_number = CASE WHEN relation_person_number-1 < 0 THEN 0 ELSE relation_person_number-1 END,
real_relation_person_number = CASE WHEN real_relation_person_number-1 < 0 THEN 0 ELSE real_relation_person_number-1 END
WHERE id = #{id};
```
这个代码中,使用了 CASE 语句来判断 relation_person_number-1 和 real_relation_person_number-1 是否小于 0,如果小于 0 则将对应的值设置为 0,否则将对应的值减 1。注意,这里使用了 SET 子句来同时更新两个列的值。
相关问题
BINARY_RELATION_CREATE
BINARY_RELATION_CREATE是C知道中的一个函数,用于创建二元关系。二元关系是指由两个集合之间的对应关系构成的集合。在C知道中,BINARY_RELATION_CREATE函数可以用来创建一个二元关系,并将其存储在内存中供后续使用。
该函数的语法如下:
```
BINARY_RELATION_CREATE(relation_name, set1, set2)
```
其中,`relation_name`是要创建的二元关系的名称,`set1`和`set2`分别是两个集合的名称。
例如,我们可以使用以下代码创建一个名为"friends"的二元关系,其中集合A表示人员,集合B表示他们的朋友:
```
BINARY_RELATION_CREATE(friends, A, B)
```
创建二元关系后,我们可以使用其他函数来操作和查询该关系,例如添加元素、删除元素、查询关系等。
SAP BINARY_RELATION_CREATE_COMMIT使用实例
SAP BINARY_RELATION_CREATE_COMMIT函数是用于创建并提交二进制关系的函数。以下是一个使用实例:
```abap
DATA: lv_reltype TYPE crmt_rel_type,
lv_objkey1 TYPE crmt_object_guid,
lv_objkey2 TYPE crmt_object_guid,
lv_relation TYPE crmt_brel_guid.
lv_reltype = 'Z001'. "设置二进制关系类型
lv_objkey1 = '00000000ABCDEFFF1234567890123456'. "设置第一个对象的 GUID
lv_objkey2 = '00000000ABCDEFFF9876543210987654'. "设置第二个对象的 GUID
CALL FUNCTION 'BINARY_RELATION_CREATE_COMMIT'
EXPORTING
relationship_type = lv_reltype
object_key1 = lv_objkey1
object_key2 = lv_objkey2
IMPORTING
relationship_guid = lv_relation
EXCEPTIONS
OTHERS = 1.
IF sy-subrc = 0.
WRITE: 'Binary relationship created successfully.'.
ELSE.
WRITE: 'Error creating binary relationship:', sy-subrc.
ENDIF.
```
在上述示例中,我们首先定义了相关的变量,其中`lv_reltype`表示二进制关系类型,`lv_objkey1`和`lv_objkey2`表示要关联的两个对象的GUID。然后,我们调用`BINARY_RELATION_CREATE_COMMIT`函数来创建并提交二进制关系。如果操作成功,将会返回一个关系GUID,否则会返回一个非零的系统返回代码。最后,我们根据返回代码输出相应的信息。
请注意,这只是一个简单的示例,实际使用中可能需要根据具体的业务需求进行适当的调整。
阅读全文