我創建了一個存儲過程,用於更新多個表中的患者名稱。當我執行它,顯示錯誤,如sql server 2000存儲過程
服務器:消息170,15級,狀態1,
1號線1號線:近 '=' 的語法不正確。
這是我的代碼。如何恢復它?請幫我
create procedure uppatname @pid varchar(150),@pname varchar(150)
as begin
declare @i as integer
declare @i1 as integer
declare @ttnm as varchar(100)
declare @tblnam as varchar(100)
drop table tbname
SELECT IDENTITY(int, 1,1) AS RowNumber, table_name
INTO tbname
FROM information_schema.columns
WHERE column_name = 'pid'
AND table_catalog = 'hospital'
AND table_name NOT LIKE 'T%'
SET @i = (select count(*) from information_schema.columns
where column_name='pid' and table_catalog='hospital'
and table_name not like 'T%')
SET @i1 = 1
WHILE @i1 <= @i
BEGIN
SET @tblnam = (select table_name from tbname where rownumber = @i1)
SET @ttnm = ('select * from ' + @tblnam + 'where pid = ' + @pid)
EXEC (@ttnm)
SET @i1 = @i1 + 1
END
END
爲什麼患者姓名在多個表中?如果它在功能上依賴於'pid'? – 2011-05-09 11:57:56