我们如何根据 Sql 中的其他表值动态添加数据库表列
本文关键字:动态 添加 数据库 其他 何根 Sql 我们 | 更新日期: 2023-09-27 18:20:36
CREATE PROCEDURE sproc_BuildTable
@TableName NVARCHAR(128)
,@Column1Name NVARCHAR(32)
,@Column1DataType NVARCHAR(32)
,@Column1Nullable NVARCHAR(32)
AS
DECLARE @SQLString NVARCHAR(MAX)
SET @SQLString = 'CREATE TABLE '+@TableName + '( '+@Column1Name+' '
+@Column1DataType +' '+@Column1Nullable +') ON PRIMARY '
EXEC (@SQLString)
GO
我想创建一个新表,表列名需要根据其他数据库列值动态添加
你想用SQL制作吗?如果是,那么您可以使用:
select * into newtable from oldtable
这将使用旧的表名称和数据创建一个新表(重复(。
如果你想要一个表的所有列,你可以使用
sp_help tableName
作为您的SQL查询,它将返回所有详细信息。
和如果要使用 c# 代码执行此操作,可以获取如上所示的列名
SqlDataAdapter adapter = new SqlDataAdapter(sqlquery, ConnectionString);
DataTable table = new DataTable();
adapter.Fill(table);
string columnName = table.Columns[desiredColumnIndex].ColumnName;
它将返回列名,您可以在其他 sqlquery 中使用该列名来创建新表。 在您的情况下,如果结果返回单个列,则将传递 0 作为索引。