Sql 我可以在创建查询中使用参数吗?
实际上我有两个问题,都是关于SQL Server的Sql 我可以在创建查询中使用参数吗?,sql,sql-server,parameters,create-table,Sql,Sql Server,Parameters,Create Table,实际上我有两个问题,都是关于SQL Server的 有一个类似“createtable”的查询,但用于createcolumns?如果存在,请说明它是如何存在的 我需要使用“创建表”,但使用参数,但我不知道这是否可行。 例如: 显然,这只是我的想法,不起作用。有正确的方法吗 我感谢你的帮助 创建列可能意味着向现有表中添加列,对吗 使用更改表格 ALTER TABLE TableName ADD NEWCLUMN数据类型 更多信息 要动态创建表,请尝试使用sp_executesql函数 sp
sp_executesql 'CREATE TABLE @table_name @column_name1 datatype1,
@column_name2 datatype2,
@column_name3 datatype3
)',
N'@table_name varchar(100),
@column_name1 varchar(100),
@column_name2 varchar(100),
@column_name3 varchar(100)',
@table_name,
@column_name1,
@column_name2,
@column_name3
sp_executesql 'CREATE TABLE @table_name @column_name1 datatype1,
@column_name2 datatype2,
@column_name3 datatype3
)',
N'@table_name varchar(100),
@column_name1 varchar(100),
@column_name2 varchar(100),
@column_name3 varchar(100)',
@table_name,
@column_name1,
@column_name2,
@column_name3
sp_executesql 'CREATE TABLE @table_name @column_name1 datatype1,
@column_name2 datatype2,
@column_name3 datatype3
)',
N'@table_name varchar(100),
@column_name1 varchar(100),
@column_name2 varchar(100),
@column_name3 varchar(100)',
@table_name,
@column_name1,
@column_name2,
@column_name3
sp_executesql 'CREATE TABLE @table_name @column_name1 datatype1,
@column_name2 datatype2,
@column_name3 datatype3
)',
N'@table_name varchar(100),
@column_name1 varchar(100),
@column_name2 varchar(100),
@column_name3 varchar(100)',
@table_name,
@column_name1,
@column_name2,
@column_name3
declare @ CustomerID int
set @ CustomerID = 3262833
declare @sql nvarchar(1000)
set @sql = N'SELECT * FROM [dbo].[Customers] AS [tbCustomers] WITH (NOLOCK)
WHERE tbCustomers.ID = '+ + cast(@CustomerID as nvarchar(10))
exec (@sql)
对于#1,使用ALTER TABLE命令
对于#2,您如何执行查询?您可以先创建一个字符串变量,将完整的命令和表名作为参数,然后执行查询。比如:
declare @ CustomerID int
set @ CustomerID = 3262833
declare @sql nvarchar(1000)
set @sql = N'SELECT * FROM [dbo].[Customers] AS [tbCustomers] WITH (NOLOCK)
WHERE tbCustomers.ID = '+ + cast(@CustomerID as nvarchar(10))
exec (@sql)
对于#1,使用ALTER TABLE命令
对于#2,您如何执行查询?您可以先创建一个字符串变量,将完整的命令和表名作为参数,然后执行查询。比如:
declare @ CustomerID int
set @ CustomerID = 3262833
declare @sql nvarchar(1000)
set @sql = N'SELECT * FROM [dbo].[Customers] AS [tbCustomers] WITH (NOLOCK)
WHERE tbCustomers.ID = '+ + cast(@CustomerID as nvarchar(10))
exec (@sql)
对于#1,使用ALTER TABLE命令
对于#2,您如何执行查询?您可以先创建一个字符串变量,将完整的命令和表名作为参数,然后执行查询。比如:
declare @ CustomerID int
set @ CustomerID = 3262833
declare @sql nvarchar(1000)
set @sql = N'SELECT * FROM [dbo].[Customers] AS [tbCustomers] WITH (NOLOCK)
WHERE tbCustomers.ID = '+ + cast(@CustomerID as nvarchar(10))
exec (@sql)
您可以尝试通过添加一个新的列ALTER table来更改表。\u tablename ADD newColumn varchar(10)哦,这非常有用,谢谢!!您可以尝试通过添加一个新的列ALTER table来更改表。\u tablename ADD newColumn varchar(10)哦,这非常有用,谢谢!!您可以尝试通过添加一个新的列ALTER table来更改表。\u tablename ADD newColumn varchar(10)哦,这非常有用,谢谢!!您可以尝试通过添加一个新的列ALTER table来更改表。\u tablename ADD newColumn varchar(10)哦,这非常有用,谢谢!!伟大的这就是我需要的!!非常感谢你!!伟大的这就是我需要的!!非常感谢你!!伟大的这就是我需要的!!非常感谢你!!伟大的这就是我需要的!!非常感谢你!!太神了谢谢:)太棒了。谢谢:)太棒了。谢谢:)太棒了。谢谢:)