我有这个光标:
DECLARE cur CURSOR LOCAL FOR
SELECT QUOTENAME(COLUMN_NAME)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = REPLACE(@TableName, 'form.', '')
OPEN cur
FETCH NEXT FROM cur INTO @fieldname
我可以更改光标的顺序吗?
这样的事情:
我现在开始:
@fieldname = field1
@fieldname = field2
@fieldname = field3
但是我想通过这个订单来获取它们:
@fieldname = field2
@fieldname = field1
@fieldname = field3
最终我想要实现的是使用字段名称在另一个表中的顺序(其中包括这些列:fieldname
和fieldorder
)。所以我想使用fieldorder
字段来指定游标迭代中的顺序。
编辑我试过没有运气:
SELECT
QUOTENAME(COLUMN_NAME)
FROM
INFORMATION_SCHEMA.COLUMNS AS inf
JOIN
dbo.FormFields AS tf ON COLUMN_NAME = tf.fieldname
WHERE
TABLE_NAME = REPLACE(@TableName, 'form.', '')
AND SUBSTRING(COLUMN_NAME, 1, 1) IN ('1', '2', '3', '4', '5', '6', '7', '8', '9', '0')
ORDER BY
tf.fieldorder