需要创建N个有相同字段的表table(1-N)
看到有这样的sql语句Create table tabvos%s不会用?
如下:
CREATE TABLE tabvos%s
(
PRI_KEY1 NUMERIC(4) DEFAULT 0 /* 1:PRIMARY KEY
, PRI_KEY2 NUMERIC(4) DEFAULT 0 /* 2:PRIMARY KEY
, MCNO NUMERIC(5) DEFAULT 0 /* 3:設定号機
, CONSTRAINT PK_VOSSET%s /* プライマリキー名称 */
PRIMARY KEY(
PRI_KEY1 /* 1:PRIMARY KEY */
, PRI_KEY2 /* 2:PRIMARY KEY
, MCNO /* 3:設定号機
)
);
sqlserver报%附近有语法错误,不知道应该怎么用这个%s
求教各位啊!
------解决方案--------------------
这是oracle的语法啊 哥哥!!
------解决方案--------------------
- SQL code
DECLARE @i INT SET @i=1DECLARE @sql VARCHAR(8000) SET @sql=''WHILE @i<=10BEGIN SET @sql='CREATE TABLE [tabvos'+LTRIM(@i)+'] ( PRI_KEY1 NUMERIC(4) DEFAULT 0 , PRI_KEY2 NUMERIC(4) DEFAULT 0 , MCNO NUMERIC(5) DEFAULT 0 , CONSTRAINT PK_VOSSET_'+LTRIM(@i)+' PRIMARY KEY ( PRI_KEY1, PRI_KEY2, MCNO ) ) ;' EXEC(@sql) SET @[email protected]+1end
------解决方案--------------------
这个不是合法的SQL语句,应该是程序里动态创建表的语句
%s代表的是序号,tabvos%s传值过来应该是tabvos1, tabvos2,……,tabvosN的意思
------解决方案--------------------
不能这样命名!!!