SQL 建表语句字符串拼接 本帖最后由 gzw13999 于 2014-03-11 20:22:47 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 右边少了一个引号,然后得加上括号 和 字段,修改了一下你的代码,简单的例子:DECLARE @datechar varchar(10)declare @sqlchar nvarchar(1000)SET @datechar= CONVERT(varchar(10), GETDATE(), 23)SET @sqlchar='CREATE TABLE [dbo].[completeTopic_'+@datechar+'](' + 'a int,b datetime,c varchar(10)'+ ')'select @sqlchar--exec(@sqlchar) 动态生成的语句大概就是这样的:CREATE TABLE [dbo].[completeTopic_2014-03-11](a int,b datetime,c varchar(10))如果还有索引,也需要加上日期,那么和这个表的名称是一样的,另外,其他的default默认值,都是比较简单的 我这的语句Select出来的没问题可是EXEC sp_executesql @sqlchar 就这样了这里是不是需要转义?? 拼接里面不能用go,你试试这种写法:DECLARE @sql NVARCHAR(max)SET @sql='select 1'+CHAR(13)+'go'+CHAR(13)+'select 2'print(@sql)/*select 1goselect 2*/ 我这的语句Select出来的没问题可是EXEC sp_executesql @sqlchar 就这样了这里是不是需要转义??这个go,只是在ssms中执行是可以的,但是如果放到语句当中,动态执行会有问题:exec('select 1; go select 2;')/*消息 102,级别 15,状态 1,第 2 行'go' 附近有语法错误。*/ 可以把@sqlchar的内容打印出来,手工执行看哪里报错,-- 把exec(@sqlchar)暂时换为如下语句print @sqlchar 表内数据拷贝问题 如何对比查询最小数据? sql 字段取数问题. 求一条sql语句 菜鸟问题:服务管理器无法启动, 急求一条数据库查询语句 字符串解密 怎么对数据库进行加密 在线等待!4个表,都是动网的帖子表bbs1,bbs2,bbs3,bbs4.表结构完全相同如何根据要求的条件从四个表同时搜索数据? 这个存储过程错在哪里啊!!求指教。 急!!创建一个sql作业,实现每天数据分配问题! 如何操作根据数据库日志文件撤销误操作
DECLARE @datechar varchar(10)
declare @sqlchar nvarchar(1000)SET @datechar= CONVERT(varchar(10), GETDATE(), 23)
SET @sqlchar='CREATE TABLE [dbo].[completeTopic_'+@datechar+'](' +
'a int,b datetime,c varchar(10)'+
')'select @sqlchar--exec(@sqlchar)
CREATE TABLE [dbo].[completeTopic_2014-03-11](a int,b datetime,c varchar(10))如果还有索引,也需要加上日期,那么和这个表的名称是一样的,另外,其他的default默认值,都是比较简单的
这里是不是需要转义??
DECLARE @sql NVARCHAR(max)
SET @sql='select 1'+CHAR(13)+'go'+CHAR(13)+'select 2'
print(@sql)/*
select 1
go
select 2
*/
这里是不是需要转义??
这个go,只是在ssms中执行是可以的,但是如果放到语句当中,动态执行会有问题:
exec('select 1;
go
select 2;')
/*
消息 102,级别 15,状态 1,第 2 行
'go' 附近有语法错误。*/
print @sqlchar