SQL Server,如果条件满足,如何DROP COLUMN?

Fra*_*ank 2 sql-server conditional alter-table alter

我一直在搜索谷歌的答案,但没有运气.任何帮助都会很棒!

我有一个SQL表:tblFeedback.它存储反馈问题的答案.问题保存在另一个表中:tblQuestions.反馈表上的问题可以通过用户界面进行更改,因此当用户编辑替换它们的问题时,我会将问题重写为tblQuestions并在tblFeedback中提供答案列(每个问题一个).希望这很容易理解.

所以在那一刻我有3个问题.我的tblFeedback列如下所示:
FeedbackID
名称
Date
Question_1
Question_2
Question_3

我想删除这些列,并在必要时用新的列替换它们.我将沿着使用ALTER TABLE tblFeedback DROP COLUMN的路径......但是我无法使用WHERE或其他任何内容添加任何条件.如果我可以指定类似'如果column_name以Question_%开头'或'if column_ID> 3 '但如果我在COLUMN之后添加WHERE我会收到错误.

我正在使用c#为asp.net应用程序编写此代码.

对此有任何帮助真的很感激.我去散步冷静下来.

Ili*_*a G 6

请重新考虑您的数据库设计.完全删除问题列并添加表格

Question (QuestionID int identity, Deleted datetime, Text text)  
Answer (FeedbackID int FK to Feedback, QuestionID int FK to Question, Text text)
Run Code Online (Sandbox Code Playgroud)

然后使用Question.Deleted == null作为您在表单上显示或隐藏问题的标准.