一天需要动态创建游标 sqlserver2005
但是通过如下方法出错
declare @sqlstr varchar(500)
set @sqlstr= '
decalre cursorname cursor for select * form table where datatime = '''+cast(@datatime as varchar) +''' and ....'
open cursorname
exec (@sqlstr)
报错提示 cursorname 不存在。一开始以为不可以用这中方法建游标,
但找了很多网站质料 都表示该方法可行
于是仔细回头看看 sql语句 ,原来是 '''+cast(@datatime as varchar) +''' 这个地方异常
@datetime 是 datetime 类型 转换到 varchar 类型的时候 其不像C# 能保持“yyyy-mm-dd mm ss ”的格式
已近变成 mon day year mm ss 这种格式
sql语句错误 根本没有执行select * form table where datatime = '''+cast(@datatime as varchar) +''' and ....'
并不是 不允许 decalre cursorname cursor for select 。。。