没有通过谷歌找到答案。我需要从 SQL Server 存储过程中执行此代码。
我有一个包含 100 多个访问数据库的文件夹,其中包含一个名为 tblReports 的表。一些访问数据库在 tblReports 中有一个额外的列,称为 AdminReport。
如果存在额外的列,我需要捕获它,因此...我需要测试 tblReports 中有多少列,以便我可以在 sp 中使用 if/else 语句根据列数生成正确的 sql。
我很想阅读您的想法,这是相关的片段。
set @sql = 'Insert into CustomerServiceIntranet.dbo.ReportCriteria
(UserInfo,RptNbr,RptType,RptDesc,GroupCDBrk,ClientCDBrk,CategoryCDBrk,
UserIDBrk,UnitCDBrk,WrkTypeBrk,StatCDBrk,StatDatBrk,
ExperBrk,GroupList,ClientList,CategoryList,UserIDList,BusAreaList,
WrkTypList,StatusList,QueueList,ReviewDay,ReviewDayNA,
ErrorImpact,DateRange,DataSource,RptPathFile)'
+ 'Select '''+ @userfilename + ''', ors.* '
+ 'from (select * From Openrowset(''Microsoft.ACE.OLEDB.12.0'','''
+ @CurrentName
+ ''';''Admin'';,''select * from tblReports'')) ors'