如何防止将空值插入数据库表?

时间:2019-04-17 10:37:11

标签: sql-server

我正在使用MASTER.DBO.XP_CMDSHELL从本地文件夹到数据库表插入文件路径。最后将所有路径插入到包含null的表中。我想防止将此null插入到Filepath表中。

我将列设置为not null,但由于它终止了所有插入操作,因此无法正常工作。

这是我的代码:

declare @date varchar(20)= '2019/04/17'
declare @query varchar(max)
DECLARE @DD VARCHAR(50)
DECLARE @MM VARCHAR(50)
DECLARE @YYYY VARCHAR(50)
DECLARE @PATTERN VARCHAR(50)
SET @PATTERN='*.CSV'
SET @DD=SUBSTRING(@DATE,9,2)
SET @MM=SUBSTRING(@DATE,6,2)
SET @YYYY=SUBSTRING(@DATE,1,4)
create table #z(id int identity(1,1),filepath varchar(max))
SET @QUERY ='MASTER.DBO.XP_CMDSHELL ''DIR D:\FILE\folder\'+@YYYY+'\'+@MM+'\'+@DD+'\'+@PATTERN +' /B/S'''
INSERT #z EXEC (@QUERY)

0 个答案:

没有答案