MySQLはテーブル文のSQLServerを作成し、[生成]

SQL:

DROP VIEW 
IFは`V_TableToSqlserverText`をEXISTS。

ALGORITHM = UNDEFINED CREATE 
`localhost` @ DEFINER =` root` 
SQL SECURITY DEFINER 
VIEW `V_TableToSqlserverText` AS(
  TABLE_NAMEのテーブル名を選択、ROWNUM、SQLTEXT 
	(FROM 
	(FROM SQLTEXT、TABLE_NAME、0 ROWNUMを選択し
		object_idの場合は、 'c.TABLE_NAME、CONCATを(SELECT ( '' 'c.TABLE_NAME、''、 '' U '')がnullでない
ドロップテーブル[ ' c.TABLE_NAME、 ']; 
CREATE TABLE'、c.TABLE_NAME、'(')SQLTEXT 
		INFORMATION_SCHEMA FROM。 `TABLES`のC 
		c.TABLE_SCHEMA = 'sevenblog' 
		とc.TABLE_TYPEは= 'BASEのTABLE' 
	)startSql 
	UNION ALL 
	SELECT c.TABLE_NAME、C。
			CASE 
						CASE
			WHEN c.ORDINAL_POSITION> 1 THEN '' 
			ELSE '' 
			END、
			'['、
			c.COLUMN_NAME、
			']'、
			CASE 
				c.COLUMN_KEY = 'PRI' THEN 'UNIQUEIDENTIFIER' 
				THEN c.DATA_TYPE = 'VARCHAR' CONCAT( 'N'、c.DATA_TYPE、 '('、c.CHARACTER_MAXIMUM_LENGTH、 ''))
				ELSE c.DATA_TYPEの
			END 
			)、
			''、
			CASE 
			c.IS_NULLABLE = 'NO' 'THEN' NULLでない
			ELSE 'NULL' 
			END、
			''、 
			CASE 
				LENGTH(c.COLUMN_DEFAULT)> 0 THEN CONCAT( 'デフォルト'、 '('、
						WHEN c.COLUMN_DEFAULT = 'CURRENT_TIMESTAMP' THEN 'GETDATE()'
						c.DATA_TYPE = 'VARCHAR' THEN CONCAT WHEN( '' '' '' 'c.COLUMN_DEFAULT')を
						ELSE CONCAT(c.COLUMN_DEFAULT)
						END 
					)、 ''))
				ELSE '' 
			END 
			)、
			CASE 
			WHEN c.COLUMN_KEY = 'PRI' THEN '主キー' 
			ELSE '' 
			END 
		)SQLTEXT 
		information_schema.columns FROMは、C 
		c.TABLE_NAME = b.TABLE_NAME ON information_schema.`TABLES` BをJOIN 
		sevenblog 'b.TABLE_SCHEMA =' 
		AND b.TABLE_TYPE = 'BASE TABLE」
		UNION ALL 
		SELECT TABLE_NAME、100 ROWNUM、(からSQLTEXT 
			C。TABLE_SCHEMA = 'sevenblog' 
			AND c.TABLE_TYPE = 'BASEのTABLE'(からSQLTEXT 
			SQLTEXT; '')c.TABLE_NAME、CONCAT(選択)
			information_schema.`TABLES` Cから
		)endStr 
	)tablesqlの
	tablesql.TABLE_NAME、tablesql.rownum BY ORDER 
)。

  

 結果は以下の通りであります

生成されたSQL

OBJECT_ID場合( 'login_log'、 'U')がnullでない
[login_log]ドロップテーブルと 
表login_logを作成する(
	[ID]がNULL主キーではないUNIQUEIDENTIFIER 
	、[ユーザーID]をnullでないint型
	、[IPアドレス]はnvarchar(100)NOT NULL 
	、[Ipproxy]はnvarchar(100)NOT NULL 
	、[システム]のnvarchar(100)NOT NULLデフォルト(」「)
	、[オプション] INTヌル
	、[EnumDataEntityStatus] int型NOT NULLデフォルト(0)
	、[CREATETIME]日時ヌルデフォルト(GETDATE())
	、[LastUpdateTime]日時ヌルデフォルト(GETDATE())
	、[CreateOperator] NVARCHAR (50)NULL 
	、[LastUpdateOperator] NVARCHAR(50)NULL 
); 
OBJECT_ID(「ユーザ」、「U」)がnullでない場合
、ドロップテーブル[ユーザー]。
	[ID]はnullで主キーではないUNIQUEIDENTIFIER 
	、[アカウント]のデータ型はnvarchar(255)NOT NULL 
	、[パスワード]データ型はnvarchar(255)NOT NULL 
	、[名前]データ型はnvarchar(255)NOT NULLデフォルト(」「)
	、[性別] int型はnullを
	、 【EnumDataEntityStatus] int型NOT NULLデフォルト(0)
	、[BizCode]はnvarchar(255)NOT NULLデフォルト(」「)
	、[型ID]は、NOT NULLデフォルト(0)がINT 
	、[型名] NVARCHAR(30)NULL 
	、[CREATETIME]日時をヌルデフォルト(GETDATE())
	、[LastUpdateTime]日時ヌルデフォルト(GETDATE())
	、[CreateOperator] NVARCHAR(50)NULL 
	、[LastUpdateOperator] NVARCHAR(50)NULL 
);

  

 

おすすめ

転載: www.cnblogs.com/Seven77yixuan/p/10981223.html