我有一个包含一些值列,公式和结果列的表.
|rownum|value1|value2|value3|formula |result|
|------|------|------|------|--------------------|------|
|1 |11 |30 |8 |value1/value2*value3| |
|2 |43 |0 |93 |value1-value2+value3| |
Run Code Online (Sandbox Code Playgroud)
我想result用公式的结果填充列.
目前我正在使用此查询:
DECLARE @v_sql NVARCHAR(MAX)
SET @v_Sql = CAST ((SELECT
' UPDATE [table] ' +
' SET [result] = ' + table.[formula] +
' WHERE [rownum] = ' + CAST(table.[rownum] as nvarchar(255)) +
';'
FROM [table]
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)') AS NVARCHAR (MAX))
EXEC (@v_Sql)
Run Code Online (Sandbox Code Playgroud)
问题是这需要很长时间.表中的#行将为5到1000万.
有什么方法可以加快速度吗?解决这个问题的替代方法?
非常感谢!
我在尝试让导入导出适用于 mptt 模型时遇到问题。这是我的代码:
模型.py
from django.db import models
from mptt.models import MPTTModel, TreeForeignKey
class MyModel(MPTTModel):
name = models.CharField(max_length=255)
parent = TreeForeignKey('self', on_delete=models.CASCADE, null=True, blank=True, related_name='children')
active = models.BooleanField(default=True,null=False,blank=False)
sort_order = models.PositiveIntegerField(default=0,null=True,blank=True)
class MPTTMeta:
order_insertion_by = ['name']
class Meta:
ordering = ['sort_order']
def __str__(self):
return self.name
Run Code Online (Sandbox Code Playgroud)
管理员.py
from django.contrib import admin
from mptt.admin import MPTTModelAdmin, DraggableMPTTAdmin
from .models import MyModel
from import_export import resources
from import_export.admin import ImportExportModelAdmin, ImportExportMixin
class MyModelResource(resources.ModelResource):
class Meta:
model = MyModel
exclude = ('lft','rght','tree_id','level')
@admin.register(MyModel)
class …Run Code Online (Sandbox Code Playgroud)