大大们问下sqlserver中foreach循环怎么写?
sqlserver吧
全部回复
仅看楼主
level 3
寒一个 楼主
小弟玩informix的,刚开始弄sqlserver
这里foreach循环写不来了
比如有个表table_a,字段name,循环把name字段数据写入tmp表
之前informix很好搞,但是sqlserver里似乎写法不同
各位大大帮忙教一下
跪谢
2023年03月23日 05点03分 1
level 12
master库里有个表存储了所有列,忘记名字了,你搜索一下:sqlserver 遍历列
2023年03月23日 15点03分 2
大佬,我的意思是每次抽一个,作为变量,拼接新的sql语句来做备份和truncate
2023年03月23日 15点03分
level 12
找到一个SQL你参考一下:
SELECT OBJECT_SCHEMA_NAME(T.[object_id], DB_ID()) AS [架构名] ,
T.[name] AS [表名] ,
AC.[name] AS [列名] ,
TY.[name] AS [系统数据类型] ,
TY.is_user_defined AS [是否用户自定义类型],--1 = 用户定义类型,0 = SQL Server 系统数据类型
AC.[max_length] [最大长度],
AC.[precision] [精确度],--如果列包含的是数值,则为该列的精度;否则为0
AC.[scale] [数值范围],--如果列包含的是数值,则为列的小数位数;否则为0
AC.[is_nullable] [是否允许为空],
AC.[is_ansi_padded][是否使用ANSI_PADDING]--1 = 如果列为字符、二进制或变量类型,则该列使用ANSI_PADDING ON 行为
FROM sys.[tables] AS T
INNER JOIN sys.[all_columns] AC ON T.[object_id] = AC.[object_id]
INNER JOIN sys.[types] TY ON AC.[system_type_id] = TY.[system_type_id]
AND AC.[user_type_id] = TY.[user_type_id]
WHERE T.[is_ms_shipped] = 0
ORDER BY T.[name] ,
AC.[column_id]
2023年03月23日 16点03分 3
level 12
用上面的SQL做数据源,然后再循环完成你要的工作~~~
2023年03月23日 16点03分 4
sqlserver好麻烦,在informix里就两三行。。。唉
2023年03月23日 16点03分
level 12
每种数据库都有自己的特点,习惯了就好
2023年03月23日 16点03分 5
level 13
搞游标啊。
2023年04月21日 03点04分 6
1