[Generate] Mysql create table statement Sqlserver

sql:

DROP VIEW
IF EXISTS `V_TableToSqlserverText`;

CREATE ALGORITHM = UNDEFINED 
DEFINER = `root`@`localhost` 
SQL SECURITY DEFINER 
VIEW `V_TableToSqlserverText` AS (
  SELECT TABLE_NAME tablename,rownum,sqltext
	FROM(
	SELECT TABLE_NAME,0 rownum,sqltext FROM (
		SELECT c.TABLE_NAME,CONCAT('if object_id(''',c.TABLE_NAME,''',''U'') is not null
drop table [',c.TABLE_NAME,'];
CREATE TABLE ',c.TABLE_NAME,' (') sqltext
		FROM information_schema.`TABLES` c 
		WHERE c.TABLE_SCHEMA='sevenblog'
		AND c.TABLE_TYPE ='BASE TABLE'
	) startSql
	UNION ALL
	SELECT c.TABLE_NAME,c.ORDINAL_POSITION rownum,
		CONCAT('	',
			CASE
			WHEN c.ORDINAL_POSITION >1 THEN ','
			ELSE '' 
			END,
			'[',
			c.COLUMN_NAME,
			'] ',
			(
			CASE 
				WHEN c.COLUMN_KEY = 'PRI' THEN 'uniqueidentifier'
				WHEN c.DATA_TYPE = 'varchar' THEN CONCAT('n',c.DATA_TYPE,'(',c.CHARACTER_MAXIMUM_LENGTH,')')
				ELSE c.DATA_TYPE
			END
			),
			' ',
			CASE 
			WHEN c.IS_NULLABLE = 'NO' THEN 'not null'
			ELSE 'null'
			END,
			' ',
			(
			CASE 
				WHEN LENGTH(c.COLUMN_DEFAULT)>0 THEN CONCAT('default ','(',
					(
						CASE 
						WHEN c.COLUMN_DEFAULT = 'CURRENT_TIMESTAMP' THEN 'getdate()' 
						WHEN c.DATA_TYPE ='varchar' THEN CONCAT('''',c.COLUMN_DEFAULT,'''')
						ELSE CONCAT(c.COLUMN_DEFAULT)
						END
					),')')
				ELSE ''
			END
			),
			CASE 
			WHEN c.COLUMN_KEY = 'PRI' THEN 'primary key'
			ELSE ''
			END
		) sqltext
		FROM information_schema.columns c 
		JOIN information_schema.`TABLES` b ON c.TABLE_NAME = b.TABLE_NAME
		WHERE b.TABLE_SCHEMA='sevenblog'
		AND b.TABLE_TYPE ='BASE TABLE'
		UNION ALL
		SELECT TABLE_NAME,100 rownum,sqltext  from (
			SELECT c.TABLE_NAME,CONCAT(');') sqltext
			FROM information_schema.`TABLES` c 
			WHERE c.TABLE_SCHEMA='sevenblog'
			AND c.TABLE_TYPE ='BASE TABLE'
		) endStr
	) tablesql
	ORDER BY tablesql.TABLE_NAME,tablesql.rownum
);

  

 The results are as follows

Generated sql

if object_id('login_log','U') is not null
drop table [login_log];
CREATE TABLE login_log (
	[Id] uniqueidentifier not null primary key
	,[UserID] int not null 
	,[Ipaddress] nvarchar(100) not null 
	,[Ipproxy] nvarchar(100) not null 
	,[System] nvarchar(100) not null default (' ')
	,[Option] int null 
	,[EnumDataEntityStatus] int not null default (0)
	,[CreateTime] datetime null default (getdate())
	,[LastUpdateTime] datetime null default (getdate())
	,[CreateOperator] nvarchar(50) null 
	,[LastUpdateOperator] nvarchar(50) null 
);
if object_id('users','U') is not null
drop table [users];
CREATE TABLE users (
	[Id] uniqueidentifier not null primary key
	,[Account] nvarchar(255) not null 
	,[Password] nvarchar(255) not null 
	,[Name] nvarchar(255) not null default (' ')
	,[Sex] int null 
	,[EnumDataEntityStatus] int not null default (0)
	,[BizCode] nvarchar(255) not null default (' ')
	,[TypeId] int not null default (0)
	,[TypeName] nvarchar(30) null 
	,[CreateTime] datetime null default (getdate())
	,[LastUpdateTime] datetime null default (getdate())
	,[CreateOperator] nvarchar(50) null 
	,[LastUpdateOperator] nvarchar(50) null 
);

  

 

Guess you like

Origin www.cnblogs.com/Seven77yixuan/p/10981223.html