<div class="codebody" id="code63216"> --创建测试表 CREATE TABLE [dbo].[Student]( [ID] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY, [Name] nvarchar NOT NULL DEFAULT (''), [Age] [int] NOT NULL DEFAULT (0), [Sex] [bit] NOT NULL DEFAULT (0), [Address] nvarchar NOT NULL DEFAULT ('') ) --比如是一个查询存储过程 Create PROC GetStudentByType @type int =0,-- 1根据id查询,2根据性别查询 @args XML -- 参数都写到这里吧 AS BEGIN DECLARE @id INT,@sex BIT SET @id=@args.value('(args/id)[1]','int') --参数都可以写在这里,如果没有传过来,大不了是null值了,反正也用不到,没关系的 SET @sex =@args.value('(args/sex)[1]','bit') IF(@type=1) BEGIN SELECT FROM dbo.Student WHERE ID=@id END IF(@type=2) BEGIN SELECT FROM dbo.Student WHERE Sex=@sex END END