加了空格不行, 现在的代码: ---------------------------------------------- --set nocount on declare @table_name char(30),@sql varchar(100),@drug_code char(20) declare find_table_name_set cursor for select name from sysobjects where (id in (select id from syscolumns where name='drug_code')) and (id<>1716917188) and (xtype<>'v') OPEN find_table_name_setFETCH NEXT FROM find_table_name_set INTO @table_name WHILE @@FETCH_STATUS = 0 BEGIN set @drug_code='1010' set @sql='DELETE FROM '+@table_name+' WHERE drug_code= '+@drug_code exec @sql END close find_table_name_set deallocate find_table_name_set -------------------------------------------------- 报如下错误: 服务器: 消息 2812,级别 16,状态 62,行 17 Could not find stored procedure 'DELETE FROM disrepair_account_book WHERE drug_code= 1010 '
--set nocount on declare @table_name char(30),@sql varchar(100),@drug_code char(20) declare find_table_name_set cursor for select name from sysobjects where (id in (select id from syscolumns where name='drug_code')) and (id<>1716917188) and (xtype<>'v') OPEN find_table_name_setFETCH NEXT FROM find_table_name_set INTO @table_name WHILE @@FETCH_STATUS = 0 BEGIN set @drug_code='1010' set @sql='DELETE FROM '+@table_name+' WHERE drug_code= '+@drug_code exec(@sql) -----这样修改 END close find_table_name_set deallocate find_table_name_set
现在的代码:
----------------------------------------------
--set nocount on
declare @table_name char(30),@sql varchar(100),@drug_code char(20)
declare find_table_name_set cursor for
select name
from sysobjects
where (id in (select id from syscolumns where name='drug_code'))
and (id<>1716917188)
and (xtype<>'v')
OPEN find_table_name_setFETCH NEXT FROM find_table_name_set
INTO @table_name
WHILE @@FETCH_STATUS = 0
BEGIN
set @drug_code='1010'
set @sql='DELETE FROM '+@table_name+' WHERE drug_code= '+@drug_code
exec @sql
END
close find_table_name_set
deallocate find_table_name_set
--------------------------------------------------
报如下错误:
服务器: 消息 2812,级别 16,状态 62,行 17
Could not find stored procedure 'DELETE FROM disrepair_account_book WHERE drug_code= 1010 '
declare @table_name char(30),@sql varchar(100),@drug_code char(20)
declare find_table_name_set cursor for
select name
from sysobjects
where (id in (select id from syscolumns where name='drug_code'))
and (id<>1716917188)
and (xtype<>'v')
OPEN find_table_name_setFETCH NEXT FROM find_table_name_set
INTO @table_name
WHILE @@FETCH_STATUS = 0
BEGIN
set @drug_code='1010'
set @sql='DELETE FROM '+@table_name+' WHERE drug_code= '+@drug_code
exec(@sql) -----这样修改
END
close find_table_name_set
deallocate find_table_name_set
sorry
一楼是对的,没注意,
结贴.