strcpy(strSQL, "SELECT * FORM " + @salaryName);EXEC SQL EXECUTE IMMEDIATE :strSQL;
解决方案 »
- sql server 2008 安装出现问题 不知该如何解决
- 如何通过触发器将当前操作表的表名、主键字段、操作类型、操作时间保存到另外一张表
- 遍历删除的问题.
- 两个问题:1.内联函数里如何申明变量,2.存储过程里如何接受其他存储过程返回的结果集
- 一句比较复杂的SQL语句不知如何写?又有字符合并(有两个字段),一个字段已经会了,又有数值相加!具体见内!谢谢!
- 不好意思,刚才写错了。我的数据库里没有xp_cmdshell存储过程,不知道是为什么
- 通过读注册表的数据库密码来建立的连接,但为什么当数据库密码不为空的时候好使,而为空的时候就不好使呢?
- sql修改语句求助,急急
- 小梁帮忙,在存储过程中使用DECLARE @tb1 TABLE 问题
- SQL数据查询问题?
- 怎么用一条语句把我group by id的各个id的第一条一起取出来,就是对应的各个id就取一条
- 复杂的多表查询问题,请教
set @i=1
while @i<=10
begin
set @str='表'+cast(@i as nvarchar(2))
exec aa @str,getdate(),@i
set @i= @i+1
end
CREATE PROCEDURE aa
@salaryname varchar(100), --工资表名称
@payday smalldatetime, --编制日期
@orgid int -- 机构编号
as
declare @sql varchar(8000)
set @sql='select * from '+@salaryname+' where payday='''+cast(@payday as varchar(20))+''' and orgid='+(cast(@orgid as varchar(10))exec (@sql)RETURN 0go
@salaryname varchar(100), --工资表名称
@payday smalldatetime, --编制日期
@orgid int -- 机构编号
as
declare @sql varchar(8000)
set @sql='select * from '+replace(@salaryname,',',' where payday='''+cast(@payday as varchar(20))+''' and orgid='+(cast(@orgid as varchar(10)) +' select * from ')
set @sql=left(@sql,len(@sql)-14)exec (@sql)RETURN 0go
1
CREATE PROCEDURE aa
@salaryname varchar(100), --工资表名称
@payday smalldatetime, --编制日期
@orgid int -- 机构编号
as
declare @sql varchar(8000)
set @sql='select * from '+@salaryname+' where payday='''+cast(@payday as varchar(20))+''' and orgid='+cast(@orgid as varchar(10))exec (@sql)RETURN 0go
2
CREATE PROCEDURE aa
@salaryname varchar(100), --工资表名称
@payday smalldatetime, --编制日期
@orgid int -- 机构编号
as
declare @sql varchar(8000)
set @sql='select * from '+replace(@salaryname,',',' where payday='''+cast(@payday as varchar(20))+''' and orgid='+cast(@orgid as varchar(10)) +' select * from ')
set @sql=left(@sql,len(@sql)-15)exec (@sql)RETURN 0go
declare @tablename varchar(4)
set @i = 1
while @i <= 10
begin
set @tablename = '表'+cast(@i as char(2))
exec aa, @tablename, ......
set @i = @i + 1
end
set @i=1
while @i<11
begin
select @tbname='表'+cast(@i as varchar),@i=@i+1
exec aa @tbname,getdate(),1
end