直接上代碼好了:
--建表語句
if exists(select 1 from [你的測試數據庫名字].sys.tables where name='TDepartment')
BEGIN print '不存在該數據表,創建后繼續操作'
CREATE TABLE [TDepartment](
[t_id] [int] IDENTITY(1,1) NOT NULL,
[name] [nvarchar](50) NULL,
[code] [nvarchar](50) NULL
) ON [PRIMARY]
end
else
BEGIN
print '存在該數據庫,繼續操作'
end
GO
--聲明下面使用的變量
declare @depart_name_num int
declare @depart_name_code int
declare @sql nvarchar(225)
declare @convert_num nvarchar(225)
declare @convert_code nvarchar(225)
--
set @depart_name_num=0
set @depart_name_code=0
while(@depart_name_num<10)
begin
--這里是為了轉換變化的數字為字符拼接
set @convert_num = 'name:'+CONVERT(nvarchar(225),@depart_name_num)
set @convert_code = 'code:'+CONVERT(nvarchar(225),@depart_name_code)
print '@convert_num'+@convert_num
set @sql = 'insert into TDepartment(name,code) values(@p1,@p2)'
--因為拼接實在太麻煩了。所以才用占位變量
--set @sql = 'insert into [TDepartment](name,code) values(''value:'+@convert_num+''','''+@depart_name_code+''')'
print '@sql:1'+@sql
--這里就相當於java的為占位變量賦值
--@params是指明占位變量的類型,這里的是一行全寫那些變量類型
--@p1,@p2是是自定義兩邊來的。只要上下名稱對上。就行。
exec SP_EXECUTESQL
@stmt = @sql ,
@params = N'@p1 as nvarchar(225),@p2 as nvarchar(225)',
@p1 = @convert_num,
@p2 = @convert_code
print '@sql:2'+@sql
set @depart_name_num=@depart_name_num+1
set @depart_name_code=@depart_name_code+1
end
如果你的連數據庫名字都沒有改的話。就肯定報錯的